home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
You can browse this item here: 8mmbackup.shar
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| SHell self-extracting ARchive (archive/shar)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| POSIX shell script text executable
| default
| |
99%
| file
| a /bin/sh script, ASCII text executable
| default (weak)
| |
82%
| TrID
| shar SHell self-extracting aRchive
| default
| |
17%
| TrID
| Xilinx User Constraints File
| default (weak)
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/329 Shell Archive Format
| default
| |
100%
| gt2
| Shell Skript: '/bin/sh'
| default (weak)
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| binwalkID
| Executable script, shebang: "/bin/sh"
| default (weak)
| |
100%
| xdgMime
| application/x-shellscript
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 23 21 20 2f 62 69 6e 2f | 73 68 0a 23 20 54 68 69 |#! /bin/|sh.# Thi|
|00000010| 73 20 69 73 20 61 20 73 | 68 65 6c 6c 20 61 72 63 |s is a s|hell arc|
|00000020| 68 69 76 65 2e 20 20 52 | 65 6d 6f 76 65 20 61 6e |hive. R|emove an|
|00000030| 79 74 68 69 6e 67 20 62 | 65 66 6f 72 65 20 74 68 |ything b|efore th|
|00000040| 69 73 20 6c 69 6e 65 2c | 20 74 68 65 6e 20 75 6e |is line,| then un|
|00000050| 70 61 63 6b 0a 23 20 69 | 74 20 62 79 20 73 61 76 |pack.# i|t by sav|
|00000060| 69 6e 67 20 69 74 20 69 | 6e 74 6f 20 61 20 66 69 |ing it i|nto a fi|
|00000070| 6c 65 20 61 6e 64 20 74 | 79 70 69 6e 67 20 22 73 |le and t|yping "s|
|00000080| 68 20 66 69 6c 65 22 2e | 20 20 54 6f 20 6f 76 65 |h file".| To ove|
|00000090| 72 77 72 69 74 65 20 65 | 78 69 73 74 69 6e 67 0a |rwrite e|xisting.|
|000000a0| 23 20 66 69 6c 65 73 2c | 20 74 79 70 65 20 22 73 |# files,| type "s|
|000000b0| 68 20 66 69 6c 65 20 2d | 63 22 2e 20 20 59 6f 75 |h file -|c". You|
|000000c0| 20 63 61 6e 20 61 6c 73 | 6f 20 66 65 65 64 20 74 | can als|o feed t|
|000000d0| 68 69 73 20 61 73 20 73 | 74 61 6e 64 61 72 64 20 |his as s|tandard |
|000000e0| 69 6e 70 75 74 20 76 69 | 61 0a 23 20 75 6e 73 68 |input vi|a.# unsh|
|000000f0| 61 72 2c 20 6f 72 20 62 | 79 20 74 79 70 69 6e 67 |ar, or b|y typing|
|00000100| 20 22 73 68 20 3c 66 69 | 6c 65 22 2c 20 65 2e 67 | "sh <fi|le", e.g|
|00000110| 2e 2e 20 20 49 66 20 74 | 68 69 73 20 61 72 63 68 |.. If t|his arch|
|00000120| 69 76 65 20 69 73 20 63 | 6f 6d 70 6c 65 74 65 2c |ive is c|omplete,|
|00000130| 20 79 6f 75 0a 23 20 77 | 69 6c 6c 20 73 65 65 20 | you.# w|ill see |
|00000140| 74 68 65 20 66 6f 6c 6c | 6f 77 69 6e 67 20 6d 65 |the foll|owing me|
|00000150| 73 73 61 67 65 20 61 74 | 20 74 68 65 20 65 6e 64 |ssage at| the end|
|00000160| 3a 0a 23 09 09 22 45 6e | 64 20 6f 66 20 73 68 65 |:.#.."En|d of she|
|00000170| 6c 6c 20 61 72 63 68 69 | 76 65 2e 22 0a 23 20 43 |ll archi|ve.".# C|
|00000180| 6f 6e 74 65 6e 74 73 3a | 20 20 38 6d 6d 62 61 63 |ontents:| 8mmbac|
|00000190| 6b 75 70 20 52 45 41 44 | 4d 45 20 43 68 61 6e 67 |kup READ|ME Chang|
|000001a0| 65 6c 6f 67 20 66 6e 46 | 69 6c 74 65 72 2e 61 77 |elog fnF|ilter.aw|
|000001b0| 6b 20 6a 6f 69 6e 2e 62 | 75 67 0a 23 20 57 72 61 |k join.b|ug.# Wra|
|000001c0| 70 70 65 64 20 62 79 20 | 72 6f 6f 74 40 73 74 79 |pped by |root@sty|
|000001d0| 6c 75 73 20 6f 6e 20 4d | 6f 6e 20 4e 6f 76 20 32 |lus on M|on Nov 2|
|000001e0| 30 20 31 31 3a 32 38 3a | 32 37 20 31 39 38 39 0a |0 11:28:|27 1989.|
|000001f0| 50 41 54 48 3d 2f 62 69 | 6e 3a 2f 75 73 72 2f 62 |PATH=/bi|n:/usr/b|
|00000200| 69 6e 3a 2f 75 73 72 2f | 75 63 62 20 3b 20 65 78 |in:/usr/|ucb ; ex|
|00000210| 70 6f 72 74 20 50 41 54 | 48 0a 69 66 20 74 65 73 |port PAT|H.if tes|
|00000220| 74 20 2d 66 20 27 38 6d | 6d 62 61 63 6b 75 70 27 |t -f '8m|mbackup'|
|00000230| 20 2d 61 20 22 24 7b 31 | 7d 22 20 21 3d 20 22 2d | -a "${1|}" != "-|
|00000240| 63 22 20 3b 20 74 68 65 | 6e 20 0a 20 20 65 63 68 |c" ; the|n . ech|
|00000250| 6f 20 73 68 61 72 3a 20 | 57 69 6c 6c 20 6e 6f 74 |o shar: |Will not|
|00000260| 20 63 6c 6f 62 62 65 72 | 20 65 78 69 73 74 69 6e | clobber| existin|
|00000270| 67 20 66 69 6c 65 20 5c | 22 27 38 6d 6d 62 61 63 |g file \|"'8mmbac|
|00000280| 6b 75 70 27 5c 22 0a 65 | 6c 73 65 0a 65 63 68 6f |kup'\".e|lse.echo|
|00000290| 20 73 68 61 72 3a 20 45 | 78 74 72 61 63 74 69 6e | shar: E|xtractin|
|000002a0| 67 20 5c 22 27 38 6d 6d | 62 61 63 6b 75 70 27 5c |g \"'8mm|backup'\|
|000002b0| 22 20 5c 28 33 30 32 36 | 36 20 63 68 61 72 61 63 |" \(3026|6 charac|
|000002c0| 74 65 72 73 5c 29 0a 73 | 65 64 20 22 73 2f 5e 58 |ters\).s|ed "s/^X|
|000002d0| 2f 2f 22 20 3e 27 38 6d | 6d 62 61 63 6b 75 70 27 |//" >'8m|mbackup'|
|000002e0| 20 3c 3c 27 45 4e 44 5f | 4f 46 5f 46 49 4c 45 27 | <<'END_|OF_FILE'|
|000002f0| 0a 58 23 21 2f 62 69 6e | 2f 63 73 68 0a 58 0a 58 |.X#!/bin|/csh.X.X|
|00000300| 73 65 74 20 76 65 72 73 | 69 6f 6e 3d 31 2e 35 0a |set vers|ion=1.5.|
|00000310| 58 0a 58 23 20 43 6f 70 | 79 72 69 67 68 74 20 28 |X.X# Cop|yright (|
|00000320| 43 29 20 4b 65 6e 6e 65 | 74 68 20 4c 2e 20 4d 61 |C) Kenne|th L. Ma|
|00000330| 6e 68 65 69 6d 65 72 20 | 31 39 38 38 2c 20 31 39 |nheimer |1988, 19|
|00000340| 38 39 0a 58 23 20 4e 61 | 74 69 6f 6e 61 6c 20 49 |89.X# Na|tional I|
|00000350| 6e 73 74 69 74 75 74 65 | 20 6f 66 20 53 74 61 6e |nstitute| of Stan|
|00000360| 64 61 72 64 73 20 61 6e | 64 20 54 65 63 68 6e 6f |dards an|d Techno|
|00000370| 6c 6f 67 79 2c 20 47 61 | 69 74 68 65 72 73 62 65 |logy, Ga|ithersbe|
|00000380| 72 67 2c 20 4d 44 20 32 | 30 38 39 39 0a 58 23 20 |rg, MD 2|0899.X# |
|00000390| 6b 6c 6d 40 63 6d 65 2e | 6e 69 73 74 2e 67 6f 76 |klm@cme.|nist.gov|
|000003a0| 20 6f 72 20 2e 2e 21 75 | 75 6e 65 74 21 63 6d 65 | or ..!u|unet!cme|
|000003b0| 2d 64 75 72 65 72 21 6b | 6c 6d 09 20 28 33 30 31 |-durer!k|lm. (301|
|000003c0| 29 20 39 37 35 2d 33 35 | 33 39 0a 58 0a 58 23 20 |) 975-35|39.X.X# |
|000003d0| 54 68 69 73 20 73 63 72 | 69 70 74 20 69 73 20 64 |This scr|ipt is d|
|000003e0| 69 73 74 72 69 62 75 74 | 65 64 20 69 6e 20 74 68 |istribut|ed in th|
|000003f0| 65 20 68 6f 70 65 20 74 | 68 61 74 20 69 74 20 77 |e hope t|hat it w|
|00000400| 69 6c 6c 20 62 65 20 75 | 73 65 66 75 6c 2c 20 62 |ill be u|seful, b|
|00000410| 75 74 0a 58 23 20 57 49 | 54 48 4f 55 54 20 41 4e |ut.X# WI|THOUT AN|
|00000420| 59 20 57 41 52 52 41 4e | 54 59 2e 20 20 4e 65 69 |Y WARRAN|TY. Nei|
|00000430| 74 68 65 72 20 74 68 65 | 20 4e 61 74 69 6f 6e 61 |ther the| Nationa|
|00000440| 6c 20 49 6e 73 74 69 74 | 75 74 65 20 6f 66 20 53 |l Instit|ute of S|
|00000450| 74 61 6e 64 61 72 64 73 | 0a 58 23 20 61 6e 64 20 |tandards|.X# and |
|00000460| 54 65 63 68 6e 6f 6c 6f | 67 79 2c 20 6e 6f 72 20 |Technolo|gy, nor |
|00000470| 61 6e 79 20 61 75 74 68 | 6f 72 20 6f 72 20 64 69 |any auth|or or di|
|00000480| 73 74 72 69 62 75 74 6f | 72 2c 20 61 63 63 65 70 |stributo|r, accep|
|00000490| 74 73 20 72 65 73 70 6f | 6e 73 69 62 69 6c 69 74 |ts respo|nsibilit|
|000004a0| 79 0a 58 23 20 74 6f 20 | 61 6e 79 6f 6e 65 20 66 |y.X# to |anyone f|
|000004b0| 6f 72 20 74 68 65 20 63 | 6f 6e 73 65 71 75 65 6e |or the c|onsequen|
|000004c0| 63 65 73 20 6f 66 20 75 | 73 69 6e 67 20 69 74 20 |ces of u|sing it |
|000004d0| 6f 72 20 66 6f 72 20 77 | 68 65 74 68 65 72 20 69 |or for w|hether i|
|000004e0| 74 20 73 65 72 76 65 73 | 0a 58 23 20 61 6e 79 20 |t serves|.X# any |
|000004f0| 70 61 72 74 69 63 75 6c | 61 72 20 70 75 72 70 6f |particul|ar purpo|
|00000500| 73 65 20 6f 72 20 77 6f | 72 6b 73 20 61 74 20 61 |se or wo|rks at a|
|00000510| 6c 6c 2c 20 75 6e 6c 65 | 73 73 20 68 65 20 73 61 |ll, unle|ss he sa|
|00000520| 79 73 20 73 6f 20 69 6e | 20 77 72 69 74 69 6e 67 |ys so in| writing|
|00000530| 2e 0a 58 0a 58 23 20 43 | 61 6c 6c 20 62 79 3a 0a |..X.X# C|all by:.|
|00000540| 58 23 0a 58 23 20 38 6d | 6d 62 61 63 6b 75 70 20 |X#.X# 8m|mbackup |
|00000550| 5b 20 76 65 72 69 66 79 | 20 5d 0a 58 23 20 6f 72 |[ verify| ].X# or|
|00000560| 0a 58 23 20 66 75 6c 6c | 50 72 69 6d 65 72 20 5b |.X# full|Primer [|
|00000570| 20 69 6e 68 69 62 69 74 | 20 5d 0a 58 23 0a 58 23 | inhibit| ].X#.X#|
|00000580| 20 57 68 65 72 65 20 27 | 76 65 72 69 66 79 27 20 | Where '|verify' |
|00000590| 6d 65 61 6e 73 20 6a 75 | 73 74 20 64 6f 20 70 72 |means ju|st do pr|
|000005a0| 65 6c 69 6d 69 6e 61 72 | 79 20 76 61 72 69 61 62 |eliminar|y variab|
|000005b0| 6c 65 20 61 73 73 69 67 | 6e 6d 65 6e 74 73 20 61 |le assig|nments a|
|000005c0| 6e 64 20 66 75 6e 64 61 | 6d 65 6e 74 61 6c 0a 58 |nd funda|mental.X|
|000005d0| 23 20 63 6f 6e 66 69 67 | 75 72 61 74 69 6f 6e 20 |# config|uration |
|000005e0| 76 65 72 69 66 69 63 61 | 74 69 6f 6e 20 28 74 6f |verifica|tion (to|
|000005f0| 20 76 61 6c 69 64 61 74 | 65 20 70 72 65 73 65 6e | validat|e presen|
|00000600| 63 65 20 6f 66 20 73 63 | 72 69 70 74 2c 20 61 63 |ce of sc|ript, ac|
|00000610| 63 6f 75 6e 74 69 6e 67 | 2c 0a 58 23 20 73 75 62 |counting|,.X# sub|
|00000620| 6a 65 63 74 20 64 69 72 | 65 63 74 6f 72 69 65 73 |ject dir|ectories|
|00000630| 2c 20 65 74 63 29 2e 20 | 20 4f 6e 20 66 69 72 73 |, etc). | On firs|
|00000640| 74 2d 65 76 65 72 20 64 | 75 6d 70 20 28 69 65 2c |t-ever d|ump (ie,|
|00000650| 20 6e 6f 20 27 73 65 71 | 49 44 66 69 6c 65 27 20 | no 'seq|IDfile' |
|00000660| 70 72 65 73 65 6e 74 29 | 0a 58 23 20 62 6f 74 68 |present)|.X# both|
|00000670| 20 74 68 65 20 63 6f 6e | 74 65 6e 74 73 20 61 6e | the con|tents an|
|00000680| 64 20 74 68 65 20 72 65 | 67 69 73 74 72 79 20 61 |d the re|gistry a|
|00000690| 72 65 20 65 78 68 61 75 | 73 74 69 76 65 2c 20 72 |re exhau|stive, r|
|000006a0| 65 67 61 72 64 6c 65 73 | 73 20 6f 66 20 77 68 65 |egardles|s of whe|
|000006b0| 74 68 65 72 20 66 75 6c | 6c 0a 58 23 20 6f 72 20 |ther ful|l.X# or |
|000006c0| 69 6e 63 72 65 6d 65 6e | 74 61 6c 20 62 61 63 6b |incremen|tal back|
|000006d0| 75 70 20 69 73 20 69 6e | 64 69 63 61 74 65 64 20 |up is in|dicated |
|000006e0| 6f 72 20 27 65 78 68 61 | 75 73 74 69 76 65 52 65 |or 'exha|ustiveRe|
|000006f0| 67 69 73 74 72 79 27 20 | 69 73 20 63 6f 6e 66 69 |gistry' |is confi|
|00000700| 67 75 72 65 64 2e 0a 58 | 23 20 4f 74 68 65 72 77 |gured..X|# Otherw|
|00000710| 69 73 65 20 28 61 6e 64 | 20 67 65 6e 65 72 61 6c |ise (and| general|
|00000720| 6c 79 29 3a 20 69 6e 63 | 72 65 6d 65 6e 74 61 6c |ly): inc|remental|
|00000730| 73 20 61 72 65 20 72 75 | 6e 20 75 6e 6c 65 73 73 |s are ru|n unless|
|00000740| 20 27 66 75 6c 6c 50 72 | 69 6d 65 72 27 0a 58 23 | 'fullPr|imer'.X#|
|00000750| 20 68 61 73 20 62 65 65 | 6e 20 69 6e 76 6f 6b 65 | has bee|n invoke|
|00000760| 64 20 28 69 6e 20 64 65 | 66 61 75 6c 74 20 6d 6f |d (in de|fault mo|
|00000770| 64 65 29 20 73 69 6e 63 | 65 20 6c 61 73 74 20 62 |de) sinc|e last b|
|00000780| 61 63 6b 75 70 2c 20 69 | 6e 20 77 68 69 63 68 20 |ackup, i|n which |
|00000790| 63 61 73 65 0a 58 23 20 | 61 20 66 75 6c 6c 20 62 |case.X# |a full b|
|000007a0| 61 63 6b 75 70 20 77 69 | 6c 6c 20 62 65 20 70 65 |ackup wi|ll be pe|
|000007b0| 72 66 6f 72 6d 65 64 2e | 20 20 53 65 65 20 6d 61 |rformed.| See ma|
|000007c0| 6e 20 70 61 67 65 20 66 | 6f 72 20 6d 6f 72 65 20 |n page f|or more |
|000007d0| 63 6f 6d 70 6c 65 74 65 | 0a 58 23 20 69 6e 73 74 |complete|.X# inst|
|000007e0| 72 75 63 74 69 6f 6e 73 | 2e 0a 58 0a 58 0a 58 23 |ructions|..X.X.X#|
|000007f0| 20 54 68 69 73 20 73 63 | 72 69 70 74 20 70 65 72 | This sc|ript per|
|00000800| 66 6f 72 6d 73 20 6f 6e | 6c 69 6e 65 20 62 61 63 |forms on|line bac|
|00000810| 6b 75 70 20 6f 66 20 64 | 69 72 65 63 74 6f 72 79 |kup of d|irectory|
|00000820| 20 73 74 72 75 63 74 75 | 72 65 73 2c 20 69 6d 70 | structu|res, imp|
|00000830| 6c 65 6d 65 6e 74 69 6e | 67 3a 0a 58 23 20 2d 20 |lementin|g:.X# - |
|00000840| 62 6f 74 68 20 65 78 68 | 61 75 73 74 69 76 65 20 |both exh|austive |
|00000850| 28 22 66 75 6c 6c 22 29 | 20 61 6e 64 20 69 6e 63 |("full")| and inc|
|00000860| 72 65 6d 65 6e 74 61 6c | 20 28 22 69 6e 63 72 22 |remental| ("incr"|
|00000870| 29 20 63 75 6c 6c 69 6e | 67 20 6f 66 20 64 69 72 |) cullin|g of dir|
|00000880| 65 63 74 6f 72 79 0a 58 | 23 20 20 20 68 69 65 72 |ectory.X|# hier|
|00000890| 61 72 63 68 69 65 73 2c | 20 6f 72 20 6a 75 73 74 |archies,| or just|
|000008a0| 20 70 72 65 70 61 72 61 | 74 6f 72 79 20 76 65 72 | prepara|tory ver|
|000008b0| 69 66 69 63 61 74 69 6f | 6e 20 6f 66 20 63 6f 6e |ificatio|n of con|
|000008c0| 66 69 67 75 72 61 74 69 | 6f 6e 20 28 22 76 65 72 |figurati|on ("ver|
|000008d0| 69 66 79 22 29 0a 58 23 | 20 2d 20 72 65 67 69 73 |ify").X#| - regis|
|000008e0| 74 72 79 20 6f 66 20 74 | 68 6f 73 65 20 73 61 76 |try of t|hose sav|
|000008f0| 65 64 20 66 69 6c 65 73 | 20 74 68 61 74 20 77 65 |ed files| that we|
|00000900| 72 65 20 63 68 61 6e 67 | 65 64 20 73 69 6e 63 65 |re chang|ed since|
|00000910| 20 70 72 65 76 69 6f 75 | 73 20 62 61 63 6b 75 70 | previou|s backup|
|00000920| 0a 58 23 20 2d 20 65 78 | 63 6c 75 73 69 6f 6e 20 |.X# - ex|clusion |
|00000930| 6f 66 20 73 70 65 63 69 | 66 69 65 64 20 64 69 72 |of speci|fied dir|
|00000940| 65 63 74 6f 72 69 65 73 | 20 28 65 67 2c 20 74 6d |ectories| (eg, tm|
|00000950| 70 2c 20 73 70 6f 6f 6c | 2c 20 6c 6f 73 74 2b 66 |p, spool|, lost+f|
|00000960| 6f 75 6e 64 2c 2e 2e 2e | 29 2c 0a 58 23 20 2d 20 |ound,...|),.X# - |
|00000970| 65 78 63 6c 75 73 69 6f | 6e 20 6f 66 20 73 70 65 |exclusio|n of spe|
|00000980| 63 69 66 69 65 64 20 70 | 61 74 68 73 20 28 65 67 |cified p|aths (eg|
|00000990| 2c 20 72 65 6d 6f 74 65 | 20 6d 6f 75 6e 74 73 2c |, remote| mounts,|
|000009a0| 20 73 74 61 6e 64 61 72 | 64 20 64 69 73 74 72 69 | standar|d distri|
|000009b0| 62 75 74 69 6f 6e 2c 2e | 2e 2e 29 0a 58 23 20 4e |bution,.|..).X# N|
|000009c0| 4f 54 45 20 74 68 61 74 | 20 74 68 65 20 6d 65 74 |OTE that| the met|
|000009d0| 68 6f 64 20 65 6d 70 6c | 6f 79 65 64 20 69 73 20 |hod empl|oyed is |
|000009e0| 6f 72 69 65 6e 74 65 64 | 20 66 6f 72 20 76 65 72 |oriented| for ver|
|000009f0| 79 20 68 69 67 68 20 63 | 61 70 61 63 69 74 79 20 |y high c|apacity |
|00000a00| 62 61 63 6b 75 70 0a 58 | 23 20 6d 65 64 69 75 6d |backup.X|# medium|
|00000a10| 20 28 61 74 20 6f 75 72 | 20 73 69 74 65 2c 20 61 | (at our| site, a|
|00000a20| 6e 20 45 78 61 62 79 74 | 65 20 38 6d 6d 20 76 69 |n Exabyt|e 8mm vi|
|00000a30| 64 65 6f 2d 74 61 70 65 | 20 64 72 69 76 65 29 3b |deo-tape| drive);|
|00000a40| 20 69 6e 20 70 61 72 74 | 69 63 75 6c 61 72 2c 20 | in part|icular, |
|00000a50| 69 74 20 69 73 0a 58 23 | 20 6e 65 63 65 73 73 61 |it is.X#| necessa|
|00000a60| 72 79 20 74 68 61 74 20 | 74 68 65 20 6d 65 64 69 |ry that |the medi|
|00000a70| 75 6d 20 69 73 20 61 62 | 6c 65 20 74 6f 20 61 63 |um is ab|le to ac|
|00000a80| 63 6f 6d 6f 64 61 74 65 | 20 61 74 20 6c 65 61 73 |comodate| at leas|
|00000a90| 74 20 61 6e 20 65 6e 74 | 69 72 65 20 66 75 6c 6c |t an ent|ire full|
|00000aa0| 0a 58 23 20 62 61 63 6b | 75 70 20 66 69 74 20 6f |.X# back|up fit o|
|00000ab0| 6e 20 61 20 73 69 6e 67 | 6c 65 20 76 6f 6c 75 6d |n a sing|le volum|
|00000ac0| 65 2e 0a 58 0a 58 23 20 | 43 68 61 6e 67 65 20 48 |e..X.X# |Change H|
|00000ad0| 69 73 74 6f 72 79 20 2d | 20 6d 6f 76 65 64 20 74 |istory -| moved t|
|00000ae0| 6f 20 73 65 70 65 72 61 | 74 65 20 66 69 6c 65 20 |o sepera|te file |
|00000af0| 27 43 68 61 6e 67 65 6c | 6f 67 27 0a 58 0a 58 0a |'Changel|og'.X.X.|
|00000b00| 58 23 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |X#vvvvvv|vvvvvvvv|
|00000b10| 76 76 76 20 55 73 65 72 | 20 64 65 73 69 67 6e 61 |vvv User| designa|
|00000b20| 74 65 64 20 28 63 6f 6e | 66 69 67 75 72 61 74 69 |ted (con|figurati|
|00000b30| 6f 6e 29 20 76 61 72 69 | 61 62 6c 65 73 20 76 76 |on) vari|ables vv|
|00000b40| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|00000b50| 0a 58 23 20 54 68 65 20 | 62 65 73 74 20 77 61 79 |.X# The |best way|
|00000b60| 20 74 6f 20 63 6f 6e 66 | 69 67 75 72 65 20 74 68 | to conf|igure th|
|00000b70| 69 73 20 73 63 72 69 70 | 74 20 69 73 20 74 6f 0a |is scrip|t is to.|
|00000b80| 58 23 20 28 31 29 20 41 | 64 6a 75 73 74 20 74 68 |X# (1) A|djust th|
|00000b90| 65 20 73 65 74 74 69 6e | 67 20 6f 66 20 27 73 63 |e settin|g of 'sc|
|00000ba0| 72 69 70 74 44 69 72 27 | 20 62 65 6c 6f 77 20 74 |riptDir'| below t|
|00000bb0| 6f 20 74 68 65 20 63 6f | 72 72 65 63 74 20 64 69 |o the co|rrect di|
|00000bc0| 72 65 63 74 6f 72 79 2c | 20 61 6e 64 0a 58 23 20 |rectory,| and.X# |
|00000bd0| 28 32 29 20 50 75 74 20 | 61 20 63 6f 70 79 20 6f |(2) Put |a copy o|
|00000be0| 66 20 74 68 69 73 20 73 | 65 63 74 69 6f 6e 20 28 |f this s|ection (|
|00000bf0| 22 55 73 65 72 20 64 65 | 73 69 67 6e 61 74 65 64 |"User de|signated|
|00000c00| 20 2e 2e 2e 22 29 20 6f | 66 20 74 68 65 20 73 63 | ...") o|f the sc|
|00000c10| 72 69 70 74 0a 58 23 20 | 20 20 20 20 69 6e 20 74 |ript.X# | in t|
|00000c20| 68 65 20 27 6f 75 74 62 | 6f 61 72 64 43 6f 6e 66 |he 'outb|oardConf|
|00000c30| 69 67 27 20 66 69 6c 65 | 20 61 6e 64 20 75 73 65 |ig' file| and use|
|00000c40| 20 74 68 61 74 20 63 6f | 70 79 20 74 6f 20 6d 61 | that co|py to ma|
|00000c50| 6b 65 20 61 6c 6c 20 79 | 6f 75 72 0a 58 23 20 20 |ke all y|our.X# |
|00000c60| 20 20 20 63 6f 6e 66 69 | 67 75 72 61 74 69 6f 6e | confi|guration|
|00000c70| 20 73 65 74 74 69 6e 67 | 73 20 69 6e 73 74 65 61 | setting|s instea|
|00000c80| 64 20 6f 66 20 74 68 69 | 73 20 6f 6e 65 2e 20 20 |d of thi|s one. |
|00000c90| 53 69 6e 63 65 20 74 68 | 65 20 38 6d 6d 2e 63 6f |Since th|e 8mm.co|
|00000ca0| 6e 66 69 67 20 66 69 6c | 65 20 69 73 0a 58 23 20 |nfig fil|e is.X# |
|00000cb0| 20 20 20 20 6e 6f 74 20 | 69 6e 63 6c 75 64 65 64 | not |included|
|00000cc0| 20 61 73 20 70 61 72 74 | 20 6f 66 20 74 68 65 20 | as part| of the |
|00000cd0| 73 68 61 72 20 64 69 73 | 74 72 69 62 75 74 69 6f |shar dis|tributio|
|00000ce0| 6e 2c 20 74 68 69 73 20 | 68 61 73 20 74 68 65 20 |n, this |has the |
|00000cf0| 61 64 76 61 6e 74 61 67 | 65 0a 58 23 20 20 20 20 |advantag|e.X# |
|00000d00| 20 74 68 61 74 20 79 6f | 75 20 77 6f 6e 27 74 20 | that yo|u won't |
|00000d10| 6e 65 65 64 20 72 65 63 | 72 65 61 74 65 20 79 6f |need rec|reate yo|
|00000d20| 75 72 20 63 6f 6e 66 69 | 67 75 72 61 74 69 6f 6e |ur confi|guration|
|00000d30| 20 65 76 65 72 79 20 74 | 69 6d 65 20 79 6f 75 20 | every t|ime you |
|00000d40| 69 6d 70 6c 65 6d 65 6e | 74 0a 58 23 20 20 20 20 |implemen|t.X# |
|00000d50| 20 61 20 6e 65 77 20 72 | 65 6c 65 61 73 65 2e 20 | a new r|elease. |
|00000d60| 20 54 68 65 20 64 69 73 | 61 64 76 61 6e 74 61 67 | The dis|advantag|
|00000d70| 65 20 69 73 20 74 68 61 | 74 20 79 6f 75 20 77 69 |e is tha|t you wi|
|00000d80| 6c 6c 20 68 61 76 65 20 | 74 6f 20 6d 61 6b 65 20 |ll have |to make |
|00000d90| 73 75 72 65 20 74 6f 0a | 58 23 20 20 20 20 20 74 |sure to.|X# t|
|00000da0| 72 61 63 6b 20 74 68 65 | 20 6d 6f 72 65 20 69 6e |rack the| more in|
|00000db0| 66 72 65 71 75 65 6e 74 | 20 63 6f 6e 66 69 67 75 |frequent| configu|
|00000dc0| 72 61 74 69 6f 6e 20 73 | 65 63 74 69 6f 6e 20 63 |ration s|ection c|
|00000dd0| 68 61 6e 67 65 73 20 77 | 68 65 6e 20 74 68 65 79 |hanges w|hen they|
|00000de0| 20 6f 63 63 75 72 2e 0a | 58 0a 58 23 20 53 65 74 | occur..|X.X# Set|
|00000df0| 20 27 73 63 72 69 70 74 | 44 69 72 27 20 74 6f 20 | 'script|Dir' to |
|00000e00| 74 68 65 20 64 69 72 65 | 63 74 6f 72 79 20 77 68 |the dire|ctory wh|
|00000e10| 65 72 65 20 74 68 65 20 | 62 61 63 6b 75 70 20 73 |ere the |backup s|
|00000e20| 63 72 69 70 74 73 20 28 | 69 6e 63 6c 75 64 69 6e |cripts (|includin|
|00000e30| 67 0a 58 23 20 74 68 69 | 73 20 6f 6e 65 29 20 72 |g.X# thi|s one) r|
|00000e40| 65 73 69 64 65 3a 0a 58 | 73 65 74 20 73 63 72 69 |eside:.X|set scri|
|00000e50| 70 74 44 69 72 3d 2f 75 | 73 72 2f 6c 6f 63 61 6c |ptDir=/u|sr/local|
|00000e60| 2f 6c 69 62 2f 38 6d 6d | 62 61 63 6b 75 70 0a 58 |/lib/8mm|backup.X|
|00000e70| 0a 58 23 20 53 65 74 20 | 27 6f 75 74 62 6f 61 72 |.X# Set |'outboar|
|00000e80| 64 43 6f 6e 66 69 67 27 | 20 74 6f 20 74 68 65 20 |dConfig'| to the |
|00000e90| 6e 61 6d 65 20 6f 66 20 | 74 68 65 20 63 6f 6e 66 |name of |the conf|
|00000ea0| 69 67 20 66 69 6c 65 20 | 79 6f 75 20 77 61 6e 74 |ig file |you want|
|00000eb0| 20 74 6f 20 75 73 65 20 | 73 6f 20 79 6f 75 0a 58 | to use |so you.X|
|00000ec0| 23 20 64 6f 6e 27 74 20 | 68 61 76 65 20 74 6f 20 |# don't |have to |
|00000ed0| 72 65 61 73 73 65 72 74 | 20 79 6f 75 72 20 63 6f |reassert| your co|
|00000ee0| 6e 66 69 67 75 72 61 74 | 69 6f 6e 20 65 76 65 72 |nfigurat|ion ever|
|00000ef0| 79 20 74 69 6d 65 20 79 | 6f 75 20 67 65 74 20 61 |y time y|ou get a|
|00000f00| 20 6e 65 77 20 76 65 72 | 73 69 6f 6e 20 6f 66 0a | new ver|sion of.|
|00000f10| 58 23 20 74 68 65 20 73 | 63 72 69 70 74 2e 2e 2e |X# the s|cript...|
|00000f20| 0a 58 73 65 74 20 6f 75 | 74 62 6f 61 72 64 43 6f |.Xset ou|tboardCo|
|00000f30| 6e 66 69 67 3d 24 73 63 | 72 69 70 74 44 69 72 2f |nfig=$sc|riptDir/|
|00000f40| 38 6d 6d 2e 63 6f 6e 66 | 69 67 0a 58 0a 58 23 20 |8mm.conf|ig.X.X# |
|00000f50| 53 65 74 74 69 6e 67 20 | 64 65 62 75 67 20 63 61 |Setting |debug ca|
|00000f60| 75 73 65 73 20 74 68 65 | 20 6f 75 74 70 75 74 20 |uses the| output |
|00000f70| 64 65 76 69 63 65 20 74 | 6f 20 62 65 20 2f 64 65 |device t|o be /de|
|00000f80| 76 2f 6e 75 6c 6c 20 28 | 61 6e 64 20 74 61 70 65 |v/null (|and tape|
|00000f90| 0a 58 23 20 63 6f 6e 74 | 72 6f 6c 20 70 72 6f 63 |.X# cont|rol proc|
|00000fa0| 65 73 73 69 6e 67 20 74 | 6f 20 62 65 20 69 6e 68 |essing t|o be inh|
|00000fb0| 69 62 69 74 65 64 29 20 | 61 6e 64 20 74 68 65 20 |ibited) |and the |
|00000fc0| 74 61 72 67 65 74 20 64 | 69 72 65 63 74 6f 72 69 |target d|irectori|
|00000fd0| 65 73 20 74 6f 20 62 65 | 0a 58 23 20 6f 6e 6c 79 |es to be|.X# only|
|00000fe0| 20 74 68 65 20 38 6d 6d | 62 61 63 6b 75 70 20 64 | the 8mm|backup d|
|00000ff0| 69 72 65 63 74 6f 72 79 | 20 28 61 6e 64 20 73 75 |irectory| (and su|
|00001000| 62 64 69 72 73 29 2e 20 | 20 41 6c 73 6f 2c 20 61 |bdirs). | Also, a|
|00001010| 6c 6c 20 6c 6f 67 67 69 | 6e 67 20 67 6f 65 73 20 |ll loggi|ng goes |
|00001020| 74 6f 0a 58 23 20 74 65 | 72 6d 69 6e 61 6c 20 6f |to.X# te|rminal o|
|00001030| 6e 6c 79 20 28 72 61 74 | 68 65 72 20 74 68 61 6e |nly (rat|her than|
|00001040| 20 62 6f 74 68 20 74 65 | 72 6d 69 6e 61 6c 20 61 | both te|rminal a|
|00001050| 6e 64 20 6c 6f 67 20 66 | 69 6c 65 29 2e 20 20 47 |nd log f|ile). G|
|00001060| 69 76 69 6e 67 20 64 65 | 62 75 67 20 74 68 65 0a |iving de|bug the.|
|00001070| 58 23 20 76 61 6c 75 65 | 20 27 76 65 72 62 6f 73 |X# value| 'verbos|
|00001080| 65 27 20 63 61 75 73 65 | 73 20 76 65 72 79 20 76 |e' cause|s very v|
|00001090| 65 72 62 6f 73 65 20 6f | 70 65 72 61 74 69 6f 6e |erbose o|peration|
|000010a0| 2e 0a 58 23 73 65 74 20 | 64 65 62 75 67 3d 76 65 |..X#set |debug=ve|
|000010b0| 72 62 6f 73 65 0a 58 23 | 73 65 74 20 64 65 62 75 |rbose.X#|set debu|
|000010c0| 67 0a 58 0a 58 23 20 53 | 65 74 20 27 73 75 62 6a |g.X.X# S|et 'subj|
|000010d0| 50 61 74 68 73 27 20 74 | 6f 20 61 20 6c 69 73 74 |Paths' t|o a list|
|000010e0| 20 6f 66 20 64 69 72 65 | 63 74 6f 72 79 20 68 69 | of dire|ctory hi|
|000010f0| 65 72 61 72 63 68 69 65 | 73 20 74 68 61 74 20 62 |erarchie|s that b|
|00001100| 61 63 6b 75 70 20 73 68 | 6f 75 6c 64 20 63 6f 76 |ackup sh|ould cov|
|00001110| 65 72 2e 0a 58 23 20 57 | 69 6c 64 20 63 61 72 64 |er..X# W|ild card|
|00001120| 69 6e 67 20 63 61 6e 20 | 62 65 20 75 73 65 64 20 |ing can |be used |
|00001130| 69 6e 20 27 73 75 62 6a | 50 61 74 68 73 27 20 61 |in 'subj|Paths' a|
|00001140| 6e 64 20 27 65 78 63 6c | 75 64 65 50 61 74 68 73 |nd 'excl|udePaths|
|00001150| 27 2e 0a 58 23 20 65 67 | 20 27 73 65 74 20 73 75 |'..X# eg| 'set su|
|00001160| 62 6a 50 61 74 68 73 3d | 28 2f 29 27 20 6f 72 20 |bjPaths=|(/)' or |
|00001170| 27 73 65 74 20 73 75 62 | 6a 50 61 74 68 73 3d 28 |'set sub|jPaths=(|
|00001180| 2f 6c 69 62 20 2f 65 74 | 63 20 2f 75 74 69 6c 2f |/lib /et|c /util/|
|00001190| 6e 65 77 73 29 27 2c 20 | 2e 2e 2e 0a 58 73 65 74 |news)', |....Xset|
|000011a0| 20 73 75 62 6a 50 61 74 | 68 73 3d 28 2f 20 2f 75 | subjPat|hs=(/ /u|
|000011b0| 73 72 2f 73 70 6f 6f 6c | 2f 7b 6d 61 69 6c 2c 6d |sr/spool|/{mail,m|
|000011c0| 71 75 65 75 65 7d 29 0a | 58 0a 58 23 20 53 65 74 |queue}).|X.X# Set|
|000011d0| 20 27 65 78 63 6c 75 64 | 65 50 61 74 68 73 27 20 | 'exclud|ePaths' |
|000011e0| 74 6f 20 73 70 65 63 69 | 66 69 63 20 72 6f 6f 74 |to speci|fic root|
|000011f0| 65 64 20 70 61 74 68 73 | 20 6f 66 20 64 69 72 65 |ed paths| of dire|
|00001200| 63 74 6f 72 69 65 73 20 | 77 68 6f 73 65 20 63 6f |ctories |whose co|
|00001210| 6e 74 65 6e 74 73 20 61 | 72 65 0a 58 23 20 74 6f |ntents a|re.X# to|
|00001220| 20 62 65 20 65 78 63 6c | 75 64 65 64 20 66 72 6f | be excl|uded fro|
|00001230| 6d 20 62 61 63 6b 75 70 | 3b 20 75 73 65 20 74 68 |m backup|; use th|
|00001240| 69 73 2c 20 66 6f 72 20 | 69 6e 73 74 61 6e 63 65 |is, for |instance|
|00001250| 2c 20 74 6f 20 65 78 63 | 6c 75 64 65 20 73 70 65 |, to exc|lude spe|
|00001260| 63 69 66 69 63 20 66 69 | 6c 65 0a 58 23 20 73 79 |cific fi|le.X# sy|
|00001270| 73 74 65 6d 73 20 74 68 | 61 74 20 61 72 65 20 70 |stems th|at are p|
|00001280| 72 65 73 65 72 76 65 64 | 20 65 6c 73 65 77 68 65 |reserved| elsewhe|
|00001290| 72 65 20 28 65 67 2c 20 | 6e 66 73 20 6d 6f 75 6e |re (eg, |nfs moun|
|000012a0| 74 73 29 20 6f 72 20 70 | 61 72 74 73 20 6f 66 20 |ts) or p|arts of |
|000012b0| 74 68 65 0a 58 23 20 73 | 74 61 6e 64 61 72 64 20 |the.X# s|tandard |
|000012c0| 64 69 73 74 72 69 62 75 | 74 69 6f 6e 20 79 6f 75 |distribu|tion you|
|000012d0| 27 64 20 70 72 65 66 65 | 72 20 74 6f 20 72 65 62 |'d prefe|r to reb|
|000012e0| 75 69 6c 64 20 72 61 74 | 68 65 72 20 74 68 61 6e |uild rat|her than|
|000012f0| 20 72 65 73 74 6f 72 65 | 2e 2e 2e 20 20 49 74 27 | restore|... It'|
|00001300| 73 0a 58 23 20 75 6e 6e | 65 63 65 73 73 61 72 79 |s.X# unn|ecessary|
|00001310| 20 74 6f 20 64 75 70 6c | 69 63 61 74 65 20 65 6e | to dupl|icate en|
|00001320| 74 72 69 65 73 20 65 78 | 63 6c 75 64 65 64 20 62 |tries ex|cluded b|
|00001330| 79 20 27 65 78 63 6c 75 | 64 65 44 69 72 73 27 20 |y 'exclu|deDirs' |
|00001340| 28 62 65 6c 6f 77 29 2e | 0a 58 23 20 4e 4f 54 45 |(below).|.X# NOTE|
|00001350| 20 74 68 61 74 20 69 74 | 20 77 69 6c 6c 20 2a 6e | that it| will *n|
|00001360| 6f 74 2a 20 77 6f 72 6b | 20 74 6f 20 74 72 79 20 |ot* work| to try |
|00001370| 74 6f 20 74 72 79 20 74 | 6f 20 69 6e 63 6c 75 64 |to try t|o includ|
|00001380| 65 20 73 6f 6d 65 74 68 | 69 6e 67 20 69 6e 20 73 |e someth|ing in s|
|00001390| 75 62 6a 50 61 74 68 73 | 0a 58 23 20 20 20 20 20 |ubjPaths|.X# |
|000013a0| 20 74 68 61 74 20 69 73 | 20 63 6f 6e 74 61 69 6e | that is| contain|
|000013b0| 65 64 20 77 69 74 68 69 | 6e 20 61 20 64 69 72 65 |ed withi|n a dire|
|000013c0| 63 74 6f 72 79 20 73 74 | 72 75 63 74 75 72 65 20 |ctory st|ructure |
|000013d0| 65 78 63 6c 75 64 65 64 | 20 69 6e 20 65 78 63 6c |excluded| in excl|
|000013e0| 75 64 65 50 61 74 68 73 | 0a 58 23 20 20 20 20 20 |udePaths|.X# |
|000013f0| 20 2d 20 2a 61 6c 6c 2a | 20 6f 66 66 73 70 72 69 | - *all*| offspri|
|00001400| 6e 67 20 69 6e 20 65 78 | 63 6c 75 64 65 50 61 74 |ng in ex|cludePat|
|00001410| 68 73 20 68 69 65 72 61 | 72 63 68 69 65 73 20 61 |hs hiera|rchies a|
|00001420| 72 65 20 65 78 63 6c 75 | 64 65 64 2e 0a 58 23 20 |re exclu|ded..X# |
|00001430| 65 67 3a 20 27 73 65 74 | 20 65 78 63 6c 75 64 65 |eg: 'set| exclude|
|00001440| 50 61 74 68 73 3d 28 2f | 75 73 72 2f 6d 61 6e 2f |Paths=(/|usr/man/|
|00001450| 63 61 74 2a 20 2f 68 6f | 6d 65 2f 7b 6e 6f 72 6d |cat* /ho|me/{norm|
|00001460| 61 6e 2c 73 71 75 69 72 | 65 7d 20 2f 64 65 70 6f |an,squir|e} /depo|
|00001470| 74 29 0a 58 73 65 74 20 | 65 78 63 6c 75 64 65 50 |t).Xset |excludeP|
|00001480| 61 74 68 73 3d 28 2f 75 | 73 72 2f 6d 61 6e 2f 63 |aths=(/u|sr/man/c|
|00001490| 61 74 2a 29 0a 58 0a 58 | 23 20 53 65 74 20 27 65 |at*).X.X|# Set 'e|
|000014a0| 78 63 6c 75 64 65 44 69 | 72 73 27 20 74 6f 20 70 |xcludeDi|rs' to p|
|000014b0| 61 74 68 6c 65 73 73 20 | 64 69 72 65 63 74 6f 72 |athless |director|
|000014c0| 79 20 6e 61 6d 65 73 20 | 77 68 6f 73 65 20 63 6f |y names |whose co|
|000014d0| 6e 74 65 6e 74 73 20 61 | 72 65 20 74 6f 20 62 65 |ntents a|re to be|
|000014e0| 0a 58 23 20 65 78 63 6c | 75 64 65 64 20 66 72 6f |.X# excl|uded fro|
|000014f0| 6d 20 70 72 65 73 65 72 | 76 61 74 69 6f 6e 2e 20 |m preser|vation. |
|00001500| 20 43 73 68 20 77 69 6c | 64 20 63 61 72 64 20 63 | Csh wil|d card c|
|00001510| 68 61 72 73 20 77 69 6c | 6c 20 77 6f 72 6b 20 28 |hars wil|l work (|
|00001520| 73 65 65 20 27 66 69 6e | 64 27 20 6d 61 6e 0a 58 |see 'fin|d' man.X|
|00001530| 23 20 70 61 67 65 29 2c | 20 62 75 74 20 62 65 20 |# page),| but be |
|00001540| 63 65 72 74 61 69 6e 20 | 74 6f 20 65 73 63 61 70 |certain |to escap|
|00001550| 65 20 74 68 65 6d 20 66 | 6f 72 20 74 68 65 20 73 |e them f|or the s|
|00001560| 68 65 6c 6c 2e 0a 58 23 | 20 57 65 20 75 73 65 3a |hell..X#| We use:|
|00001570| 20 27 73 65 74 20 65 78 | 63 6c 75 64 65 44 69 72 | 'set ex|cludeDir|
|00001580| 73 3d 28 73 77 61 70 20 | 74 6d 70 20 73 70 6f 6f |s=(swap |tmp spoo|
|00001590| 6c 29 27 0a 58 73 65 74 | 20 65 78 63 6c 75 64 65 |l)'.Xset| exclude|
|000015a0| 44 69 72 73 3d 28 73 77 | 61 70 20 74 6d 70 20 6e |Dirs=(sw|ap tmp n|
|000015b0| 65 77 73 67 72 6f 75 70 | 73 20 73 70 6f 6f 6c 29 |ewsgroup|s spool)|
|000015c0| 0a 58 0a 58 23 20 42 45 | 49 4e 47 20 52 45 54 49 |.X.X# BE|ING RETI|
|000015d0| 52 45 44 0a 58 23 23 20 | 53 65 74 20 27 65 78 68 |RED.X## |Set 'exh|
|000015e0| 61 75 73 74 69 76 65 52 | 65 67 69 73 74 72 79 27 |austiveR|egistry'|
|000015f0| 20 69 66 20 79 6f 75 20 | 77 61 6e 74 20 74 68 65 | if you |want the|
|00001600| 20 72 65 67 69 73 74 72 | 79 20 74 6f 20 63 6f 6e | registr|y to con|
|00001610| 74 61 69 6e 20 74 68 65 | 0a 58 23 23 20 6e 61 6d |tain the|.X## nam|
|00001620| 65 73 20 6f 66 20 2a 61 | 6c 6c 2a 20 74 68 65 20 |es of *a|ll* the |
|00001630| 66 69 6c 65 73 20 74 68 | 61 74 20 68 61 76 65 20 |files th|at have |
|00001640| 62 65 65 6e 20 70 72 65 | 73 65 72 76 65 64 2c 20 |been pre|served, |
|00001650| 6e 6f 74 20 6a 75 73 74 | 20 74 68 6f 73 65 0a 58 |not just| those.X|
|00001660| 23 23 20 74 68 61 74 20 | 77 65 72 65 20 6d 6f 64 |## that |were mod|
|00001670| 69 66 69 65 64 20 73 69 | 6e 63 65 20 74 68 65 20 |ified si|nce the |
|00001680| 70 72 65 76 69 6f 75 73 | 20 62 61 63 6b 75 70 2e |previous| backup.|
|00001690| 20 20 28 4f 74 68 65 72 | 77 69 73 65 20 74 68 65 | (Other|wise the|
|000016a0| 20 6e 61 6d 65 73 0a 58 | 23 23 20 6f 66 20 74 68 | names.X|## of th|
|000016b0| 6f 73 65 20 66 69 6c 65 | 73 20 74 68 61 74 20 68 |ose file|s that h|
|000016c0| 61 76 65 20 6e 6f 74 20 | 63 68 61 6e 67 65 64 20 |ave not |changed |
|000016d0| 73 69 6e 63 65 20 74 68 | 65 20 70 72 69 6f 72 20 |since th|e prior |
|000016e0| 62 61 63 6b 75 70 20 77 | 69 6c 6c 20 6e 6f 74 0a |backup w|ill not.|
|000016f0| 58 23 23 20 62 65 20 72 | 65 67 69 73 74 65 72 65 |X## be r|egistere|
|00001700| 64 2c 20 74 68 6f 75 67 | 68 20 74 68 65 79 20 61 |d, thoug|h they a|
|00001710| 72 65 2c 20 6f 66 20 63 | 6f 75 72 73 65 2c 20 73 |re, of c|ourse, s|
|00001720| 74 69 6c 6c 20 70 72 65 | 73 65 72 76 65 64 20 64 |till pre|served d|
|00001730| 75 72 69 6e 67 20 61 0a | 58 23 23 20 66 75 6c 6c |uring a.|X## full|
|00001740| 20 62 61 63 6b 75 70 2e | 29 0a 58 23 73 65 74 20 | backup.|).X#set |
|00001750| 65 78 68 61 75 73 74 69 | 76 65 52 65 67 69 73 74 |exhausti|veRegist|
|00001760| 72 79 0a 58 0a 58 23 20 | 53 65 74 20 27 72 65 61 |ry.X.X# |Set 'rea|
|00001770| 6c 44 65 76 27 20 74 6f | 20 74 68 65 20 6e 6f 2d |lDev' to| the no-|
|00001780| 72 65 77 69 6e 64 20 64 | 65 76 69 63 65 20 74 68 |rewind d|evice th|
|00001790| 61 74 20 73 68 6f 75 6c | 64 20 72 65 63 65 69 76 |at shoul|d receiv|
|000017a0| 65 20 74 68 65 20 62 61 | 63 6b 75 70 2e 0a 58 23 |e the ba|ckup..X#|
|000017b0| 20 54 61 70 65 20 63 6f | 6e 74 72 6f 6c 20 77 69 | Tape co|ntrol wi|
|000017c0| 6c 6c 20 61 6c 77 61 79 | 73 20 62 65 20 61 70 70 |ll alway|s be app|
|000017d0| 6c 69 65 64 20 74 6f 20 | 27 72 65 61 6c 44 65 76 |lied to |'realDev|
|000017e0| 27 2c 20 62 75 74 20 77 | 68 65 6e 20 64 65 62 75 |', but w|hen debu|
|000017f0| 67 20 69 73 0a 58 23 20 | 73 65 74 20 74 68 65 20 |g is.X# |set the |
|00001800| 61 72 63 68 69 76 65 73 | 20 77 69 6c 6c 20 62 65 |archives| will be|
|00001810| 20 73 65 6e 74 20 74 6f | 20 2f 64 65 76 2f 6e 75 | sent to| /dev/nu|
|00001820| 6c 6c 2e 0a 58 73 65 74 | 20 72 65 61 6c 44 65 76 |ll..Xset| realDev|
|00001830| 3d 2f 64 65 76 2f 6e 72 | 73 74 31 0a 58 0a 58 23 |=/dev/nr|st1.X.X#|
|00001840| 20 53 65 74 20 74 6f 74 | 61 6c 43 61 70 20 74 6f | Set tot|alCap to|
|00001850| 20 28 63 6f 6e 73 65 72 | 76 61 74 69 76 65 29 20 | (conser|vative) |
|00001860| 74 6f 74 61 6c 20 63 61 | 70 61 63 69 74 79 20 28 |total ca|pacity (|
|00001870| 69 6e 20 62 79 74 65 73 | 29 20 61 20 73 69 6e 67 |in bytes|) a sing|
|00001880| 6c 65 20 76 6f 6c 75 6d | 65 0a 58 23 20 68 6f 6c |le volum|e.X# hol|
|00001890| 64 73 2e 20 20 57 65 20 | 75 73 65 20 32 2e 32 20 |ds. We |use 2.2 |
|000018a0| 62 69 6c 6c 69 6f 6e 20 | 28 32 32 30 30 30 30 30 |billion |(2200000|
|000018b0| 30 30 30 29 20 66 6f 72 | 20 74 68 65 20 65 78 61 |000) for| the exa|
|000018c0| 62 79 74 65 20 64 72 69 | 76 65 2e 0a 58 73 65 74 |byte dri|ve..Xset|
|000018d0| 20 74 6f 74 61 6c 43 61 | 70 3d 32 32 30 30 30 30 | totalCa|p=220000|
|000018e0| 30 30 30 30 0a 58 0a 58 | 23 20 53 65 74 20 27 65 |0000.X.X|# Set 'e|
|000018f0| 72 72 6f 72 4e 6f 74 69 | 66 69 63 65 54 6f 27 20 |rrorNoti|ficeTo' |
|00001900| 74 6f 20 61 20 75 73 65 | 72 6e 61 6d 65 20 77 68 |to a use|rname wh|
|00001910| 65 72 65 20 61 20 6d 61 | 69 6c 20 6d 65 73 73 61 |ere a ma|il messa|
|00001920| 67 65 20 73 68 6f 75 6c | 64 20 62 65 20 73 65 6e |ge shoul|d be sen|
|00001930| 74 0a 58 23 20 69 6e 20 | 63 61 73 65 20 6f 66 20 |t.X# in |case of |
|00001940| 62 61 63 6b 75 70 20 67 | 6c 69 74 63 68 2e 20 20 |backup g|litch. |
|00001950| 28 57 65 20 75 73 65 20 | 61 6e 20 61 6c 69 61 73 |(We use |an alias|
|00001960| 2c 20 27 62 61 63 6b 75 | 70 6d 61 73 74 65 72 27 |, 'backu|pmaster'|
|00001970| 2c 20 77 68 69 63 68 0a | 58 23 20 74 72 61 6e 73 |, which.|X# trans|
|00001980| 6c 61 74 65 73 20 74 6f | 20 74 68 65 20 63 6f 6e |lates to| the con|
|00001990| 63 65 72 6e 65 64 20 70 | 61 72 74 69 65 73 2e 29 |cerned p|arties.)|
|000019a0| 20 0a 58 73 65 74 20 65 | 72 72 6f 72 4e 6f 74 69 | .Xset e|rrorNoti|
|000019b0| 63 65 54 6f 3d 62 61 63 | 6b 75 70 6d 61 73 74 65 |ceTo=bac|kupmaste|
|000019c0| 72 0a 58 0a 58 23 20 53 | 65 74 20 27 76 65 72 69 |r.X.X# S|et 'veri|
|000019d0| 66 79 54 6f 6c 65 72 61 | 6e 63 65 27 20 69 66 20 |fyTolera|nce' if |
|000019e0| 79 6f 75 20 77 61 6e 74 | 20 61 20 66 61 69 72 6c |you want| a fairl|
|000019f0| 79 20 73 74 72 69 6e 67 | 65 6e 74 20 62 75 74 20 |y string|ent but |
|00001a00| 74 69 6d 65 20 63 6f 6e | 73 75 6d 69 6e 67 0a 58 |time con|suming.X|
|00001a10| 23 20 72 65 76 69 65 77 | 20 6f 66 20 74 68 65 20 |# review| of the |
|00001a20| 61 72 63 68 69 76 65 20 | 66 69 6c 65 20 74 6f 20 |archive |file to |
|00001a30| 62 65 20 64 6f 6e 65 20 | 61 66 74 65 72 20 74 68 |be done |after th|
|00001a40| 65 20 61 72 63 68 69 76 | 65 20 69 73 20 77 72 69 |e archiv|e is wri|
|00001a50| 74 74 65 6e 20 74 6f 20 | 74 61 70 65 2e 0a 58 23 |tten to |tape..X#|
|00001a60| 20 41 73 73 69 67 6e 20 | 61 6e 20 69 6e 74 65 67 | Assign |an integ|
|00001a70| 65 72 20 76 61 6c 75 65 | 20 74 68 61 74 20 77 69 |er value| that wi|
|00001a80| 6c 6c 20 62 65 20 74 61 | 6b 65 6e 20 61 73 20 61 |ll be ta|ken as a|
|00001a90| 20 2b 2f 2d 20 74 6f 6c | 65 72 61 6e 63 65 20 62 | +/- tol|erance b|
|00001aa0| 65 74 77 65 65 6e 20 74 | 68 65 0a 58 23 20 72 6f |etween t|he.X# ro|
|00001ab0| 73 74 65 72 20 6f 66 20 | 66 69 6c 65 73 20 64 65 |ster of |files de|
|00001ac0| 73 69 67 6e 61 74 65 64 | 20 66 6f 72 20 61 72 63 |signated| for arc|
|00001ad0| 68 69 76 61 6c 20 61 6e | 64 20 61 20 54 61 62 6c |hival an|d a Tabl|
|00001ae0| 65 2d 4f 66 2d 43 6f 6e | 74 65 6e 74 73 20 6f 66 |e-Of-Con|tents of|
|00001af0| 20 74 68 65 0a 58 23 20 | 61 72 63 68 69 76 65 20 | the.X# |archive |
|00001b00| 77 72 69 74 74 65 6e 20 | 74 6f 20 74 61 70 65 2e |written |to tape.|
|00001b10| 20 20 54 68 65 20 74 6f | 6c 65 72 61 6e 63 65 20 | The to|lerance |
|00001b20| 69 73 20 6e 65 63 65 73 | 73 61 72 79 20 66 6f 72 |is neces|sary for|
|00001b30| 20 64 69 73 63 72 65 70 | 61 6e 63 69 65 73 0a 58 | discrep|ancies.X|
|00001b40| 23 20 62 65 74 77 65 65 | 6e 20 74 68 65 20 72 6f |# betwee|n the ro|
|00001b50| 73 74 65 72 20 66 6f 72 | 20 61 72 63 68 69 76 61 |ster for| archiva|
|00001b60| 6c 20 61 6e 64 20 74 68 | 65 20 61 72 63 68 69 76 |l and th|e archiv|
|00001b70| 65 20 63 6f 6e 74 65 6e | 74 73 20 64 75 65 20 74 |e conten|ts due t|
|00001b80| 6f 20 74 68 69 6e 67 73 | 0a 58 23 20 6c 69 6b 65 |o things|.X# like|
|00001b90| 20 66 69 6c 65 73 20 74 | 68 61 74 20 77 65 72 65 | files t|hat were|
|00001ba0| 20 64 65 6c 65 74 65 64 | 20 61 66 74 65 72 20 66 | deleted| after f|
|00001bb0| 69 6c 65 2d 73 79 73 74 | 65 6d 2d 73 63 61 6e 20 |ile-syst|em-scan |
|00001bc0| 62 75 74 20 62 65 66 6f | 72 65 20 61 72 63 68 69 |but befo|re archi|
|00001bd0| 76 65 0a 58 23 20 63 72 | 65 61 74 69 6f 6e 2e 20 |ve.X# cr|eation. |
|00001be0| 20 54 68 65 20 74 6f 6c | 65 72 61 6e 63 65 20 77 | The tol|erance w|
|00001bf0| 69 6c 6c 20 65 78 70 6f | 73 65 20 69 6e 73 69 64 |ill expo|se insid|
|00001c00| 69 6f 75 73 20 61 72 63 | 68 69 76 65 20 63 6f 72 |ious arc|hive cor|
|00001c10| 72 75 70 74 69 6f 6e 20 | 6c 69 6b 65 20 64 69 73 |ruption |like dis|
|00001c20| 6b 0a 58 23 20 72 65 61 | 64 20 66 61 69 6c 75 72 |k.X# rea|d failur|
|00001c30| 65 73 2c 20 77 68 69 63 | 68 20 63 61 75 73 65 20 |es, whic|h cause |
|00001c40| 63 70 69 6f 20 74 6f 20 | 63 6f 72 72 75 70 74 20 |cpio to |corrupt |
|00001c50| 74 68 65 20 61 72 63 68 | 69 76 65 20 77 69 74 68 |the arch|ive with|
|00001c60| 6f 75 74 20 69 6e 64 69 | 63 61 74 69 6f 6e 0a 58 |out indi|cation.X|
|00001c70| 23 20 64 75 72 69 6e 67 | 20 77 72 69 74 69 6e 67 |# during| writing|
|00001c80| 2e 20 20 54 68 65 20 64 | 65 66 61 75 6c 74 20 69 |. The d|efault i|
|00001c90| 73 20 61 20 32 25 20 74 | 6f 6c 65 72 61 6e 63 65 |s a 2% t|olerance|
|00001ca0| 20 28 69 65 2c 20 23 20 | 6f 66 20 65 6e 74 72 69 | (ie, # |of entri|
|00001cb0| 65 73 20 77 69 74 68 69 | 6e 20 32 25 20 6f 66 0a |es withi|n 2% of.|
|00001cc0| 58 23 20 62 61 73 69 73 | 29 3b 20 75 73 65 20 61 |X# basis|); use a|
|00001cd0| 20 6c 61 72 67 65 72 20 | 6e 75 6d 62 65 72 20 6f | larger |number o|
|00001ce0| 6e 6c 79 20 69 66 20 79 | 6f 75 20 6e 65 65 64 20 |nly if y|ou need |
|00001cf0| 74 6f 20 64 6f 20 61 20 | 62 61 63 6b 75 70 20 64 |to do a |backup d|
|00001d00| 75 72 69 6e 67 0a 58 23 | 20 73 75 62 73 74 61 6e |uring.X#| substan|
|00001d10| 74 69 61 6c 20 66 69 6c | 65 2d 73 79 73 74 65 6d |tial fil|e-system|
|00001d20| 20 6d 6f 64 69 66 69 63 | 61 74 69 6f 6e 73 2e 20 | modific|ations. |
|00001d30| 20 4d 61 6b 65 20 27 76 | 65 72 69 66 79 54 6f 6c | Make 'v|erifyTol|
|00001d40| 65 72 61 6e 63 65 27 20 | 75 6e 73 65 74 0a 58 23 |erance' |unset.X#|
|00001d50| 20 69 66 20 79 6f 75 20 | 77 61 6e 74 20 74 6f 20 | if you |want to |
|00001d60| 68 61 76 65 20 61 20 6d | 75 63 68 20 6c 65 73 73 |have a m|uch less|
|00001d70| 20 61 73 73 75 72 65 64 | 20 62 75 74 20 6d 75 63 | assured| but muc|
|00001d80| 68 20 66 61 73 74 65 72 | 20 76 65 72 69 66 69 63 |h faster| verific|
|00001d90| 61 74 69 6f 6e 0a 58 23 | 20 6f 66 20 74 68 65 20 |ation.X#| of the |
|00001da0| 62 61 63 6b 75 70 20 61 | 72 63 68 69 76 65 2e 0a |backup a|rchive..|
|00001db0| 58 73 65 74 20 76 65 72 | 69 66 79 54 6f 6c 65 72 |Xset ver|ifyToler|
|00001dc0| 61 6e 63 65 3d 32 0a 58 | 23 5e 5e 5e 5e 5e 5e 5e |ance=2.X|#^^^^^^^|
|00001dd0| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 20 55 73 65 72 |^^^^^^^^|^^^ User|
|00001de0| 20 64 65 73 69 67 6e 61 | 74 65 64 20 28 63 6f 6e | designa|ted (con|
|00001df0| 66 69 67 75 72 61 74 69 | 6f 6e 29 20 76 61 72 69 |figurati|on) vari|
|00001e00| 61 62 6c 65 73 20 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |ables ^^|^^^^^^^^|
|00001e10| 5e 5e 5e 5e 5e 5e 5e 0a | 58 0a 58 0a 58 0a 58 23 |^^^^^^^.|X.X.X.X#|
|00001e20| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|00001e30| 76 76 76 76 76 76 76 76 | 76 76 76 20 47 65 74 20 |vvvvvvvv|vvv Get |
|00001e40| 6f 75 74 62 6f 61 72 64 | 20 63 6f 6e 66 69 67 20 |outboard| config |
|00001e50| 20 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 | vvvvvvv|vvvvvvvv|
|00001e60| 76 76 76 76 76 76 76 76 | 76 76 76 76 0a 58 69 66 |vvvvvvvv|vvvv.Xif|
|00001e70| 20 28 2d 65 20 24 6f 75 | 74 62 6f 61 72 64 43 6f | (-e $ou|tboardCo|
|00001e80| 6e 66 69 67 29 20 74 68 | 65 6e 0a 58 20 20 73 6f |nfig) th|en.X so|
|00001e90| 75 72 63 65 20 24 6f 75 | 74 62 6f 61 72 64 43 6f |urce $ou|tboardCo|
|00001ea0| 6e 66 69 67 0a 58 65 6e | 64 69 66 0a 58 23 5e 5e |nfig.Xen|dif.X#^^|
|00001eb0| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00001ec0| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 20 47 6f 74 20 6f 75 |^^^^^^^^|^ Got ou|
|00001ed0| 74 62 6f 61 72 64 20 63 | 6f 6e 66 69 67 20 5e 5e |tboard c|onfig ^^|
|00001ee0| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00001ef0| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 0a 58 0a 58 0a 58 |^^^^^^^^|^^.X.X.X|
|00001f00| 0a 58 23 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |.X#vvvvv|vvvvvvvv|
|00001f10| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 20 |vvvvvvvv|vvvvvvv |
|00001f20| 43 6f 6e 74 72 69 76 65 | 64 20 76 61 72 69 61 62 |Contrive|d variab|
|00001f30| 6c 65 73 20 76 76 76 76 | 76 76 76 76 76 76 76 76 |les vvvv|vvvvvvvv|
|00001f40| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|00001f50| 76 0a 58 23 20 28 2e 2e | 2e 20 61 6e 64 20 6c 6f |v.X# (..|. and lo|
|00001f60| 67 67 69 6e 67 20 61 6e | 64 20 65 72 72 6f 72 20 |gging an|d error |
|00001f70| 61 6c 69 61 73 65 73 29 | 0a 58 0a 58 23 20 53 63 |aliases)|.X.X# Sc|
|00001f80| 72 69 70 74 20 6e 61 6d | 65 20 2d 0a 58 69 66 20 |ript nam|e -.Xif |
|00001f90| 28 24 3f 30 29 20 74 68 | 65 6e 0a 58 20 20 73 65 |($?0) th|en.X se|
|00001fa0| 74 20 73 63 4e 6d 3d 24 | 30 3b 20 73 65 74 20 73 |t scNm=$|0; set s|
|00001fb0| 63 4e 6d 3d 24 73 63 4e | 6d 3a 74 0a 58 65 6c 73 |cNm=$scN|m:t.Xels|
|00001fc0| 65 0a 58 20 20 73 65 74 | 20 73 63 4e 6d 3d 42 61 |e.X set| scNm=Ba|
|00001fd0| 63 6b 75 70 53 63 72 69 | 70 74 0a 58 65 6e 64 69 |ckupScri|pt.Xendi|
|00001fe0| 66 0a 58 0a 58 23 20 64 | 61 74 65 53 74 61 6d 70 |f.X.X# d|ateStamp|
|00001ff0| 20 2d 20 64 61 74 65 20 | 6f 66 20 62 61 63 6b 75 | - date |of backu|
|00002000| 70 2c 20 72 65 73 65 74 | 20 6a 75 73 74 20 62 65 |p, reset| just be|
|00002010| 66 6f 72 65 20 69 6e 74 | 65 72 6c 6f 63 6b 20 63 |fore int|erlock c|
|00002020| 6c 61 69 6d 20 62 65 6c | 6f 77 3a 0a 58 73 65 74 |laim bel|ow:.Xset|
|00002030| 20 64 61 74 65 53 74 61 | 6d 70 3d 22 60 64 61 74 | dateSta|mp="`dat|
|00002040| 65 60 22 0a 58 0a 58 23 | 20 67 75 61 72 64 20 61 |e`".X.X#| guard a|
|00002050| 6c 69 61 73 20 2d 20 73 | 65 74 20 6f 6e 69 6e 74 |lias - s|et onint|
|00002060| 72 20 6c 61 62 65 6c 20 | 61 6e 64 20 67 75 61 72 |r label |and guar|
|00002070| 64 53 74 61 74 65 20 66 | 6f 72 20 67 75 61 72 64 |dState f|or guard|
|00002080| 65 64 45 78 69 74 20 28 | 62 65 6c 6f 77 29 0a 58 |edExit (|below).X|
|00002090| 61 6c 69 61 73 20 67 75 | 61 72 64 20 22 73 65 74 |alias gu|ard "set|
|000020a0| 20 67 75 61 72 64 53 74 | 61 74 65 3d 27 5c 21 2a | guardSt|ate='\!*|
|000020b0| 27 3b 20 6f 6e 69 6e 74 | 72 20 5c 21 2a 22 0a 58 |'; onint|r \!*".X|
|000020c0| 67 75 61 72 64 20 67 72 | 6f 75 6e 64 0a 58 0a 58 |guard gr|ound.X.X|
|000020d0| 23 20 67 75 61 72 64 65 | 64 45 78 69 74 20 61 6c |# guarde|dExit al|
|000020e0| 69 61 73 20 2d 20 65 78 | 69 74 20 77 69 74 68 20 |ias - ex|it with |
|000020f0| 76 61 6c 75 65 20 74 68 | 72 6f 75 67 68 20 63 75 |value th|rough cu|
|00002100| 72 72 65 6e 74 20 67 75 | 61 72 64 0a 58 61 6c 69 |rrent gu|ard.Xali|
|00002110| 61 73 20 67 75 61 72 64 | 65 64 45 78 69 74 20 22 |as guard|edExit "|
|00002120| 73 65 74 20 65 78 69 74 | 56 61 6c 3d 5c 21 2a 3b |set exit|Val=\!*;|
|00002130| 20 67 6f 74 6f 22 20 27 | 24 67 75 61 72 64 53 74 | goto" '|$guardSt|
|00002140| 61 74 65 27 0a 58 73 65 | 74 20 65 78 69 74 56 61 |ate'.Xse|t exitVa|
|00002150| 6c 3d 31 0a 58 0a 58 23 | 20 69 6e 74 65 72 61 63 |l=1.X.X#| interac|
|00002160| 74 69 76 65 20 2d 20 31 | 20 69 66 20 72 75 6e 6e |tive - 1| if runn|
|00002170| 69 6e 67 20 66 72 6f 6d | 20 61 20 74 65 72 6d 69 |ing from| a termi|
|00002180| 6e 61 6c 2c 20 30 20 65 | 6c 73 65 77 69 73 65 0a |nal, 0 e|lsewise.|
|00002190| 58 73 65 74 20 69 6e 74 | 65 72 61 63 74 69 76 65 |Xset int|eractive|
|000021a0| 3d 31 3b 20 74 74 79 20 | 2d 73 3b 20 69 66 20 28 |=1; tty |-s; if (|
|000021b0| 24 73 74 61 74 75 73 20 | 3d 3d 20 31 29 20 73 65 |$status |== 1) se|
|000021c0| 74 20 69 6e 74 65 72 61 | 63 74 69 76 65 3d 30 0a |t intera|ctive=0.|
|000021d0| 58 0a 58 23 20 61 63 63 | 74 44 69 72 20 2d 20 64 |X.X# acc|tDir - d|
|000021e0| 69 72 65 63 74 6f 72 79 | 20 77 68 65 72 65 20 61 |irectory| where a|
|000021f0| 63 63 6f 75 6e 74 69 6e | 67 20 66 6f 72 20 62 61 |ccountin|g for ba|
|00002200| 63 6b 75 70 20 70 72 6f | 63 65 73 73 69 6e 67 20 |ckup pro|cessing |
|00002210| 69 73 20 6d 61 69 6e 74 | 61 69 6e 65 64 3a 0a 58 |is maint|ained:.X|
|00002220| 73 65 74 20 61 63 63 74 | 44 69 72 3d 24 73 63 72 |set acct|Dir=$scr|
|00002230| 69 70 74 44 69 72 2f 61 | 63 63 6f 75 6e 74 69 6e |iptDir/a|ccountin|
|00002240| 67 0a 58 0a 58 23 20 69 | 6e 74 65 72 6c 6f 63 6b |g.X.X# i|nterlock|
|00002250| 20 2d 20 66 69 6c 65 20 | 70 72 65 73 65 6e 74 20 | - file |present |
|00002260| 77 68 65 6e 20 62 61 63 | 6b 75 70 20 61 6c 72 65 |when bac|kup alre|
|00002270| 61 64 79 20 69 6e 20 70 | 72 6f 67 72 65 73 73 2e |ady in p|rogress.|
|00002280| 0a 58 73 65 74 20 69 6e | 74 65 72 6c 6f 63 6b 3d |.Xset in|terlock=|
|00002290| 24 61 63 63 74 44 69 72 | 2f 69 6e 74 65 72 6c 6f |$acctDir|/interlo|
|000022a0| 63 6b 0a 58 0a 58 23 20 | 66 75 6c 6c 54 72 69 67 |ck.X.X# |fullTrig|
|000022b0| 67 65 72 20 2d 20 66 69 | 6c 65 20 77 68 6f 73 65 |ger - fi|le whose|
|000022c0| 20 70 72 65 73 65 6e 63 | 65 20 74 72 69 67 67 65 | presenc|e trigge|
|000022d0| 72 73 20 66 75 6c 6c 20 | 62 61 63 6b 75 70 0a 58 |rs full |backup.X|
|000022e0| 73 65 74 20 66 75 6c 6c | 54 72 69 67 67 65 72 3d |set full|Trigger=|
|000022f0| 24 61 63 63 74 44 69 72 | 2f 66 75 6c 6c 54 72 69 |$acctDir|/fullTri|
|00002300| 67 67 65 72 0a 58 0a 58 | 23 20 6c 6f 67 20 2d 20 |gger.X.X|# log - |
|00002310| 66 69 6c 65 20 77 68 65 | 72 65 20 63 6f 6e 64 75 |file whe|re condu|
|00002320| 63 74 20 61 6e 64 20 65 | 72 72 6f 72 73 20 6f 66 |ct and e|rrors of|
|00002330| 20 62 61 63 6b 75 70 20 | 73 65 73 73 69 6f 6e 20 | backup |session |
|00002340| 69 73 20 6c 6f 67 67 65 | 64 0a 58 73 65 74 20 6c |is logge|d.Xset l|
|00002350| 6f 67 66 69 6c 65 3d 24 | 61 63 63 74 44 69 72 2f |ogfile=$|acctDir/|
|00002360| 62 61 63 6b 75 70 2e 6c | 6f 67 0a 58 0a 58 23 20 |backup.l|og.X.X# |
|00002370| 74 6f 4c 6f 67 20 61 6c | 69 61 73 20 2d 20 63 6f |toLog al|ias - co|
|00002380| 6d 6d 61 6e 64 20 75 73 | 65 64 20 66 6f 72 20 6c |mmand us|ed for l|
|00002390| 6f 67 67 69 6e 67 20 6d | 65 73 73 61 67 65 73 3a |ogging m|essages:|
|000023a0| 0a 58 61 6c 69 61 73 20 | 74 6f 6c 6f 67 20 22 28 |.Xalias |tolog "(|
|000023b0| 5c 21 2a 29 20 7c 26 20 | 74 65 65 20 2d 61 20 24 |\!*) |& |tee -a $|
|000023c0| 6c 6f 67 66 69 6c 65 22 | 0a 58 0a 58 23 20 69 6e |logfile"|.X.X# in|
|000023d0| 63 72 43 6c 61 75 73 65 | 20 2d 20 66 69 6e 64 20 |crClause| - find |
|000023e0| 70 61 72 61 6d 65 74 65 | 72 20 77 68 69 63 68 20 |paramete|r which |
|000023f0| 69 6e 64 69 63 61 74 65 | 73 20 66 69 6c 65 2c 20 |indicate|s file, |
|00002400| 77 69 74 68 20 6d 6f 64 | 2d 74 69 6d 65 20 6f 66 |with mod|-time of|
|00002410| 20 6c 61 73 74 0a 58 23 | 09 20 20 20 20 20 20 20 | last.X#|. |
|00002420| 62 61 63 6b 75 70 2c 20 | 74 6f 20 72 65 73 70 65 |backup, |to respe|
|00002430| 63 74 20 66 6f 72 20 69 | 6e 63 72 65 6d 65 6e 74 |ct for i|ncrement|
|00002440| 61 6c 20 70 72 65 73 65 | 72 76 65 73 3a 0a 58 73 |al prese|rves:.Xs|
|00002450| 65 74 20 69 6e 63 72 43 | 6c 61 75 73 65 3d 22 22 |et incrC|lause=""|
|00002460| 0a 58 0a 58 23 20 70 72 | 75 6e 65 43 6c 61 75 73 |.X.X# pr|uneClaus|
|00002470| 65 20 2d 20 27 65 78 63 | 6c 75 64 65 44 69 72 73 |e - 'exc|ludeDirs|
|00002480| 27 20 6d 61 73 73 61 67 | 65 64 20 28 62 65 6c 6f |' massag|ed (belo|
|00002490| 77 29 20 66 6f 72 20 75 | 73 65 20 69 6e 20 66 69 |w) for u|se in fi|
|000024a0| 6e 64 20 73 74 61 74 65 | 6d 65 6e 74 3a 0a 58 73 |nd state|ment:.Xs|
|000024b0| 65 74 20 70 72 75 6e 65 | 43 6c 61 75 73 65 3d 22 |et prune|Clause="|
|000024c0| 22 0a 58 0a 58 23 20 61 | 77 6b 46 69 6c 74 65 72 |".X.X# a|wkFilter|
|000024d0| 53 63 72 69 70 74 20 2d | 20 66 69 6c 65 20 77 68 |Script -| file wh|
|000024e0| 65 72 65 20 28 66 69 6c | 65 2d 6e 61 6d 65 2f 63 |ere (fil|e-name/c|
|000024f0| 61 70 61 63 69 74 79 20 | 66 69 6c 74 65 72 29 20 |apacity |filter) |
|00002500| 61 77 6b 20 73 63 72 69 | 70 74 20 72 65 73 69 64 |awk scri|pt resid|
|00002510| 65 73 3a 0a 58 73 65 74 | 20 61 77 6b 46 69 6c 74 |es:.Xset| awkFilt|
|00002520| 65 72 53 63 72 69 70 74 | 3d 24 73 63 72 69 70 74 |erScript|=$script|
|00002530| 44 69 72 2f 66 6e 46 69 | 6c 74 65 72 2e 61 77 6b |Dir/fnFi|lter.awk|
|00002540| 0a 58 0a 58 23 20 66 67 | 72 65 70 43 6c 61 75 73 |.X.X# fg|repClaus|
|00002550| 65 20 2d 20 27 65 78 63 | 6c 75 64 65 50 61 74 68 |e - 'exc|ludePath|
|00002560| 73 27 20 6d 61 73 73 61 | 67 65 64 20 28 62 65 6c |s' massa|ged (bel|
|00002570| 6f 77 29 20 66 6f 72 20 | 65 78 70 72 65 73 73 69 |ow) for |expressi|
|00002580| 6f 6e 20 61 73 20 66 67 | 72 65 70 20 66 69 6c 74 |on as fg|rep filt|
|00002590| 65 72 3b 0a 58 23 09 20 | 20 20 20 20 20 77 69 6c |er;.X#. | wil|
|000025a0| 64 20 63 61 72 64 20 67 | 6c 6f 62 62 69 6e 67 20 |d card g|lobbing |
|000025b0| 61 6e 64 20 73 79 6d 62 | 6f 6c 69 63 20 6c 69 6e |and symb|olic lin|
|000025c0| 6b 73 20 61 72 65 20 65 | 78 70 61 6e 64 65 64 20 |ks are e|xpanded |
|000025d0| 74 6f 0a 58 23 09 20 20 | 20 20 20 20 74 68 65 69 |to.X#. | thei|
|000025e0| 72 20 75 6e 72 61 76 65 | 6c 6c 65 64 20 65 71 75 |r unrave|lled equ|
|000025f0| 69 76 61 6c 65 6e 74 73 | 2e 20 0a 58 73 65 74 20 |ivalents|. .Xset |
|00002600| 66 67 72 65 70 43 6c 61 | 75 73 65 3d 22 22 0a 58 |fgrepCla|use="".X|
|00002610| 0a 58 23 20 66 67 72 65 | 70 43 6c 61 75 73 65 46 |.X# fgre|pClauseF|
|00002620| 69 6c 65 20 2d 20 66 67 | 72 65 70 20 63 6c 61 75 |ile - fg|rep clau|
|00002630| 73 65 20 72 65 73 69 64 | 65 6e 63 65 20 28 69 6e |se resid|ence (in|
|00002640| 73 74 65 61 64 20 6f 66 | 20 70 61 73 73 69 6e 67 |stead of| passing|
|00002650| 20 74 68 72 75 20 63 6d | 64 20 6c 69 6e 65 29 0a | thru cm|d line).|
|00002660| 58 73 65 74 20 66 67 72 | 65 70 43 6c 61 75 73 65 |Xset fgr|epClause|
|00002670| 46 69 6c 65 3d 24 61 63 | 63 74 44 69 72 2f 66 67 |File=$ac|ctDir/fg|
|00002680| 72 65 70 2e 63 6c 61 75 | 73 65 0a 58 0a 58 23 20 |rep.clau|se.X.X# |
|00002690| 65 78 63 6c 75 64 65 50 | 61 74 68 46 69 6c 74 65 |excludeP|athFilte|
|000026a0| 72 20 2d 20 6c 69 6b 65 | 20 74 68 65 20 6e 61 6d |r - like| the nam|
|000026b0| 65 20 73 61 79 73 2e 2e | 2e 0a 58 61 6c 69 61 73 |e says..|..Xalias|
|000026c0| 20 65 78 63 6c 75 64 65 | 50 61 74 68 73 46 69 6c | exclude|PathsFil|
|000026d0| 74 65 72 20 22 66 67 72 | 65 70 20 2d 76 66 20 24 |ter "fgr|ep -vf $|
|000026e0| 66 67 72 65 70 43 6c 61 | 75 73 65 46 69 6c 65 22 |fgrepCla|useFile"|
|000026f0| 0a 58 0a 58 23 20 73 65 | 71 49 44 20 2d 20 53 65 |.X.X# se|qID - Se|
|00002700| 71 75 65 6e 63 65 20 6e | 75 6d 62 65 72 20 69 64 |quence n|umber id|
|00002710| 65 6e 74 69 66 79 69 6e | 67 20 63 75 72 72 65 6e |entifyin|g curren|
|00002720| 74 20 62 61 63 6b 75 70 | 20 2a 61 6e 64 2a 20 74 |t backup| *and* t|
|00002730| 61 70 65 20 69 6e 64 65 | 78 2e 0a 58 23 09 20 20 |ape inde|x..X#. |
|00002740| 45 61 63 68 20 66 75 6c | 6c 20 62 61 63 6b 75 70 |Each ful|l backup|
|00002750| 20 72 65 2d 69 6e 69 74 | 69 61 74 65 73 20 74 6f | re-init|iates to|
|00002760| 20 73 65 71 49 44 20 30 | 2c 20 73 6f 20 6e 65 77 | seqID 0|, so new|
|00002770| 20 74 61 70 65 20 6d 75 | 73 74 20 62 65 20 75 73 | tape mu|st be us|
|00002780| 65 64 2e 3a 0a 58 73 65 | 74 20 73 65 71 49 44 3d |ed.:.Xse|t seqID=|
|00002790| 22 22 0a 58 0a 58 23 20 | 73 65 71 49 44 46 69 6c |"".X.X# |seqIDFil|
|000027a0| 65 20 2d 20 46 69 6c 65 | 20 63 6f 6e 74 61 69 6e |e - File| contain|
|000027b0| 69 6e 67 20 69 64 65 6e | 74 69 66 79 69 6e 67 20 |ing iden|tifying |
|000027c0| 73 65 71 75 65 6e 63 65 | 20 6e 75 6d 62 65 72 20 |sequence| number |
|000027d0| 6f 66 20 70 72 65 76 69 | 6f 75 73 20 62 61 63 6b |of previ|ous back|
|000027e0| 75 70 2e 20 20 0a 58 23 | 09 20 20 20 20 20 20 27 |up. .X#|. '|
|000027f0| 30 27 20 66 6f 72 20 66 | 75 6c 6c 20 62 61 63 6b |0' for f|ull back|
|00002800| 75 70 2e 0a 58 73 65 74 | 20 73 65 71 49 44 46 69 |up..Xset| seqIDFi|
|00002810| 6c 65 3d 24 61 63 63 74 | 44 69 72 2f 73 65 71 49 |le=$acct|Dir/seqI|
|00002820| 44 46 69 6c 65 0a 58 0a | 58 23 20 6e 65 77 53 65 |DFile.X.|X# newSe|
|00002830| 71 49 44 46 69 6c 65 20 | 2d 20 54 68 65 20 73 65 |qIDFile |- The se|
|00002840| 71 49 44 20 66 6f 72 20 | 62 61 63 6b 75 70 20 63 |qID for |backup c|
|00002850| 75 72 72 65 6e 74 6c 79 | 20 69 6e 20 70 72 6f 67 |urrently| in prog|
|00002860| 72 65 73 73 3a 0a 58 73 | 65 74 20 6e 65 77 53 65 |ress:.Xs|et newSe|
|00002870| 71 49 44 46 69 6c 65 3d | 24 73 65 71 49 44 46 69 |qIDFile=|$seqIDFi|
|00002880| 6c 65 2e 63 75 72 72 65 | 6e 74 0a 58 0a 58 23 20 |le.curre|nt.X.X# |
|00002890| 73 65 71 53 74 61 74 73 | 46 69 6c 65 20 2d 20 74 |seqStats|File - t|
|000028a0| 61 62 6c 65 20 74 72 61 | 6e 73 6c 61 74 69 6e 67 |able tra|nslating|
|000028b0| 20 73 65 71 75 65 6e 63 | 65 20 72 65 67 69 73 74 | sequenc|e regist|
|000028c0| 72 79 20 49 44 73 20 74 | 6f 20 61 63 74 75 61 6c |ry IDs t|o actual|
|000028d0| 20 64 61 74 65 73 3a 0a | 58 23 20 66 6f 72 6d 61 | dates:.|X# forma|
|000028e0| 74 3a 20 73 65 71 49 44 | 20 74 61 70 65 2d 63 61 |t: seqID| tape-ca|
|000028f0| 70 61 63 69 74 79 2d 63 | 6f 6e 73 75 6d 65 64 20 |pacity-c|onsumed |
|00002900| 74 6f 44 65 76 20 6d 6f | 64 65 20 28 73 75 62 6a |toDev mo|de (subj|
|00002910| 50 61 74 68 73 29 20 28 | 65 78 63 6c 75 64 65 50 |Paths) (|excludeP|
|00002920| 61 74 68 73 29 20 5c 20 | 0a 58 23 09 20 20 28 65 |aths) \ |.X#. (e|
|00002930| 78 63 6c 75 64 65 44 69 | 72 73 29 20 64 61 74 65 |xcludeDi|rs) date|
|00002940| 0a 58 73 65 74 20 73 65 | 71 53 74 61 74 73 46 69 |.Xset se|qStatsFi|
|00002950| 6c 65 3d 24 61 63 63 74 | 44 69 72 2f 73 65 71 53 |le=$acct|Dir/seqS|
|00002960| 74 61 74 73 0a 58 0a 58 | 23 20 70 72 69 6f 72 53 |tats.X.X|# priorS|
|00002970| 74 61 74 73 46 69 6c 65 | 20 2d 20 73 65 71 53 74 |tatsFile| - seqSt|
|00002980| 61 74 73 20 6f 66 20 70 | 72 69 6f 72 20 63 79 63 |ats of p|rior cyc|
|00002990| 6c 65 2c 20 65 78 69 73 | 74 73 20 6f 6e 6c 79 20 |le, exis|ts only |
|000029a0| 64 75 72 69 6e 67 20 66 | 75 6c 6c 20 62 61 63 6b |during f|ull back|
|000029b0| 75 70 2c 20 66 6f 72 0a | 58 23 09 09 20 20 20 73 |up, for.|X#.. s|
|000029c0| 69 6d 69 6c 61 72 20 70 | 75 72 70 6f 73 65 20 61 |imilar p|urpose a|
|000029d0| 73 20 74 68 61 74 20 6f | 66 20 70 72 69 6f 72 52 |s that o|f priorR|
|000029e0| 65 67 69 73 74 72 79 20 | 28 62 65 6c 6f 77 29 0a |egistry |(below).|
|000029f0| 58 73 65 74 20 70 72 69 | 6f 72 53 74 61 74 73 46 |Xset pri|orStatsF|
|00002a00| 69 6c 65 3d 24 61 63 63 | 74 44 69 72 2f 73 65 71 |ile=$acc|tDir/seq|
|00002a10| 53 74 61 74 73 2e 70 72 | 69 6f 72 0a 58 0a 58 23 |Stats.pr|ior.X.X#|
|00002a20| 20 63 61 70 55 73 65 64 | 20 2d 20 74 6f 74 61 6c | capUsed| - total|
|00002a30| 20 61 6d 6f 75 6e 74 20 | 6f 66 20 74 61 70 65 20 | amount |of tape |
|00002a40| 75 73 65 64 20 73 6f 20 | 66 61 72 20 28 6f 62 74 |used so |far (obt|
|00002a50| 61 69 6e 65 64 20 66 72 | 6f 6d 20 27 73 65 71 53 |ained fr|om 'seqS|
|00002a60| 74 61 74 73 27 29 3a 0a | 58 73 65 74 20 63 61 70 |tats'):.|Xset cap|
|00002a70| 55 73 65 64 3d 22 22 0a | 58 0a 58 23 20 63 61 70 |Used="".|X.X# cap|
|00002a80| 50 65 6e 64 69 6e 67 20 | 2d 20 61 6d 74 20 62 79 |Pending |- amt by|
|00002a90| 74 65 73 20 70 65 6e 64 | 69 6e 67 20 74 6f 20 67 |tes pend|ing to g|
|00002aa0| 6f 20 6f 6e 74 6f 20 74 | 61 70 65 20 74 68 69 73 |o onto t|ape this|
|00002ab0| 20 64 75 6d 70 3a 0a 58 | 73 65 74 20 63 61 70 50 | dump:.X|set capP|
|00002ac0| 65 6e 64 69 6e 67 3d 22 | 22 0a 58 0a 58 23 20 70 |ending="|".X.X# p|
|00002ad0| 65 6e 64 73 20 2d 20 77 | 6f 72 6b 69 6e 67 20 66 |ends - w|orking f|
|00002ae0| 69 6c 65 20 77 68 65 72 | 65 20 72 6f 73 74 65 72 |ile wher|e roster|
|00002af0| 20 6f 66 20 66 69 6c 65 | 73 20 74 68 61 74 20 68 | of file|s that h|
|00002b00| 61 76 65 20 63 68 61 6e | 67 65 64 20 73 69 6e 63 |ave chan|ged sinc|
|00002b10| 65 20 70 72 65 76 69 6f | 75 73 0a 58 23 09 20 20 |e previo|us.X#. |
|00002b20| 62 61 63 6b 75 70 20 69 | 73 20 72 65 67 69 73 74 |backup i|s regist|
|00002b30| 65 72 65 64 2e 20 20 28 | 54 68 69 73 20 77 69 6c |ered. (|This wil|
|00002b40| 6c 20 61 6c 77 61 79 73 | 20 63 6f 6e 73 69 73 74 |l always| consist|
|00002b50| 20 6f 66 20 6f 6e 6c 79 | 20 74 68 6f 73 65 20 66 | of only| those f|
|00002b60| 69 6c 65 73 0a 58 23 09 | 20 20 74 68 61 74 20 68 |iles.X#.| that h|
|00002b70| 61 76 65 20 63 68 61 6e | 67 65 64 20 73 69 6e 63 |ave chan|ged sinc|
|00002b80| 65 20 6c 61 73 74 20 62 | 61 63 6b 75 70 2c 20 65 |e last b|ackup, e|
|00002b90| 76 65 6e 20 77 68 65 6e | 20 61 64 64 69 74 69 6f |ven when| additio|
|00002ba0| 6e 61 6c 20 66 69 6c 65 | 73 20 28 69 65 2c 0a 58 |nal file|s (ie,.X|
|00002bb0| 23 09 20 20 64 75 72 69 | 6e 67 20 66 75 6c 6c 20 |#. duri|ng full |
|00002bc0| 62 61 63 6b 75 70 29 20 | 61 72 65 20 62 65 69 6e |backup) |are bein|
|00002bd0| 67 20 70 72 65 73 65 72 | 76 65 64 2e 29 3a 0a 58 |g preser|ved.):.X|
|00002be0| 23 09 66 6f 72 6d 61 74 | 3a 20 27 2d 6c 73 27 20 |#.format|: '-ls' |
|00002bf0| 66 6f 72 6d 61 74 20 6f | 66 20 66 69 6e 64 0a 58 |format o|f find.X|
|00002c00| 73 65 74 20 70 65 6e 64 | 73 3d 24 61 63 63 74 44 |set pend|s=$acctD|
|00002c10| 69 72 2f 70 65 6e 64 73 | 0a 58 0a 58 23 20 66 75 |ir/pends|.X.X# fu|
|00002c20| 6c 6c 50 65 6e 64 73 20 | 2d 20 77 6f 72 6b 69 6e |llPends |- workin|
|00002c30| 67 20 72 6f 73 74 65 72 | 20 6f 66 20 66 69 6c 65 |g roster| of file|
|00002c40| 73 20 70 65 6e 64 69 6e | 67 20 66 75 6c 6c 20 64 |s pendin|g full d|
|00002c50| 75 6d 70 20 28 6e 6f 74 | 20 6a 75 73 74 20 63 68 |ump (not| just ch|
|00002c60| 61 6e 67 65 64 20 6f 6e | 65 73 29 0a 58 73 65 74 |anged on|es).Xset|
|00002c70| 20 66 75 6c 6c 50 65 6e | 64 73 3d 24 61 63 63 74 | fullPen|ds=$acct|
|00002c80| 44 69 72 2f 66 75 6c 6c | 50 65 6e 64 73 0a 58 0a |Dir/full|Pends.X.|
|00002c90| 58 23 20 72 65 67 69 73 | 74 72 79 20 2d 20 43 75 |X# regis|try - Cu|
|00002ca0| 72 72 65 6e 74 20 63 79 | 63 6c 65 27 73 20 63 75 |rrent cy|cle's cu|
|00002cb0| 6d 75 6c 61 74 69 76 65 | 20 66 69 6c 65 20 6f 66 |mulative| file of|
|00002cc0| 20 66 69 6c 65 6e 61 6d | 65 73 20 77 68 6f 73 65 | filenam|es whose|
|00002cd0| 20 63 6f 6e 74 65 6e 74 | 73 20 77 65 72 65 0a 58 | content|s were.X|
|00002ce0| 23 09 20 20 20 20 20 70 | 72 65 73 65 72 76 65 64 |#. p|reserved|
|00002cf0| 20 2a 64 75 65 20 74 6f | 20 68 61 76 69 6e 67 20 | *due to| having |
|00002d00| 62 65 65 6e 20 6d 6f 64 | 69 66 69 65 64 20 73 69 |been mod|ified si|
|00002d10| 6e 63 65 20 70 72 69 6f | 72 20 62 61 63 6b 75 70 |nce prio|r backup|
|00002d20| 2a 2e 20 20 49 65 2c 0a | 58 23 09 20 20 20 20 20 |*. Ie,.|X#. |
|00002d30| 65 76 65 6e 20 64 75 72 | 69 6e 67 20 66 75 6c 6c |even dur|ing full|
|00002d40| 20 62 61 63 6b 75 70 2c | 20 6f 6e 6c 79 20 72 65 | backup,| only re|
|00002d50| 63 65 6e 74 6c 79 2d 6d | 6f 64 69 66 69 65 64 20 |cently-m|odified |
|00002d60| 66 69 6c 65 73 20 61 72 | 65 0a 58 23 09 20 20 20 |files ar|e.X#. |
|00002d70| 20 20 72 65 67 69 73 74 | 65 72 65 64 2c 20 74 68 | regist|ered, th|
|00002d80| 6f 75 67 68 20 61 6e 79 | 20 66 69 6c 65 73 20 75 |ough any| files u|
|00002d90| 6e 64 65 72 20 27 73 75 | 62 6a 65 63 74 73 50 61 |nder 'su|bjectsPa|
|00002da0| 74 68 27 20 61 72 65 20 | 73 61 76 65 64 20 74 68 |th' are |saved th|
|00002db0| 65 6e 2e 0a 58 23 0a 58 | 23 09 20 20 20 20 20 46 |en..X#.X|#. F|
|00002dc0| 6f 72 6d 61 74 20 6f 66 | 20 72 65 67 69 73 74 72 |ormat of| registr|
|00002dd0| 79 20 65 6e 74 72 79 3a | 20 3c 66 69 6c 65 2d 70 |y entry:| <file-p|
|00002de0| 61 74 68 3e 20 3c 73 65 | 71 2d 69 64 3e 20 5b 3c |ath> <se|q-id> [<|
|00002df0| 73 65 71 2d 69 64 3e 20 | 2e 2e 2e 5d 0a 58 23 0a |seq-id> |...].X#.|
|00002e00| 58 23 09 20 20 20 20 20 | 77 68 65 72 65 20 3c 73 |X#. |where <s|
|00002e10| 65 71 2d 69 64 3e 20 69 | 73 20 69 73 20 74 68 65 |eq-id> i|s is the|
|00002e20| 20 27 73 65 71 49 44 27 | 20 6f 66 20 65 61 63 68 | 'seqID'| of each|
|00002e30| 20 70 72 65 76 69 6f 75 | 73 20 62 61 63 6b 75 70 | previou|s backup|
|00002e40| 20 28 75 70 20 74 6f 0a | 58 23 09 20 20 20 20 20 | (up to.|X#. |
|00002e50| 61 6e 64 20 69 6e 63 6c | 75 64 69 6e 67 20 74 68 |and incl|uding th|
|00002e60| 65 20 6d 6f 73 74 20 72 | 65 63 65 6e 74 20 66 75 |e most r|ecent fu|
|00002e70| 6c 6c 20 62 61 63 6b 75 | 70 29 20 74 68 61 74 20 |ll backu|p) that |
|00002e80| 70 72 65 73 65 72 76 65 | 64 20 61 0a 58 23 09 20 |preserve|d a.X#. |
|00002e90| 20 20 20 20 76 65 72 73 | 69 6f 6e 20 6f 66 20 3c | vers|ion of <|
|00002ea0| 66 69 6c 65 2d 70 61 74 | 68 3e 2e 0a 58 23 0a 58 |file-pat|h>..X#.X|
|00002eb0| 23 09 20 20 20 20 20 54 | 68 69 73 20 66 69 6c 65 |#. T|his file|
|00002ec0| 20 69 73 20 73 61 76 65 | 64 20 77 69 74 68 20 73 | is save|d with s|
|00002ed0| 75 62 73 65 71 75 65 6e | 74 20 63 79 63 6c 65 27 |ubsequen|t cycle'|
|00002ee0| 73 20 66 75 6c 6c 20 62 | 61 63 6b 75 70 2e 20 20 |s full b|ackup. |
|00002ef0| 54 68 75 73 20 65 61 63 | 68 0a 58 23 09 20 20 20 |Thus eac|h.X#. |
|00002f00| 20 20 63 79 63 6c 65 27 | 73 20 72 65 67 69 73 74 | cycle'|s regist|
|00002f10| 72 79 20 69 73 20 61 76 | 61 69 6c 61 62 6c 65 20 |ry is av|ailable |
|00002f20| 61 74 20 62 65 67 69 6e | 6e 69 6e 67 20 6f 66 20 |at begin|ning of |
|00002f30| 73 75 62 73 65 71 75 65 | 6e 74 20 63 79 63 6c 65 |subseque|nt cycle|
|00002f40| 27 73 0a 58 23 09 20 20 | 20 20 20 74 61 70 65 2e |'s.X#. | tape.|
|00002f50| 0a 58 73 65 74 20 72 65 | 67 69 73 74 72 79 3d 24 |.Xset re|gistry=$|
|00002f60| 61 63 63 74 44 69 72 2f | 72 65 67 69 73 74 72 79 |acctDir/|registry|
|00002f70| 0a 58 0a 58 23 70 72 69 | 6f 72 52 65 67 69 73 74 |.X.X#pri|orRegist|
|00002f80| 72 79 20 2d 20 65 78 69 | 73 74 73 20 6f 6e 6c 79 |ry - exi|sts only|
|00002f90| 20 64 75 72 69 6e 67 20 | 66 75 6c 6c 20 62 61 63 | during |full bac|
|00002fa0| 6b 75 70 2c 20 73 6f 20 | 70 72 69 6f 72 20 63 79 |kup, so |prior cy|
|00002fb0| 63 6c 65 73 20 72 65 67 | 69 73 74 72 79 20 77 69 |cles reg|istry wi|
|00002fc0| 6c 6c 0a 58 23 09 09 20 | 62 65 20 73 61 76 65 64 |ll.X#.. |be saved|
|00002fd0| 20 77 69 74 68 20 66 75 | 6c 6c 20 62 61 63 6b 75 | with fu|ll backu|
|00002fe0| 70 2e 20 20 45 6d 70 6c | 61 63 65 64 20 6a 75 73 |p. Empl|aced jus|
|00002ff0| 74 20 70 72 69 6f 72 20 | 74 6f 20 63 6f 6d 70 75 |t prior |to compu|
|00003000| 74 69 6e 67 0a 58 23 09 | 09 20 70 65 6e 64 73 20 |ting.X#.|. pends |
|00003010| 61 6e 64 20 72 65 6d 6f | 76 65 64 20 61 66 74 65 |and remo|ved afte|
|00003020| 72 20 61 72 63 68 69 76 | 61 6c 2e 0a 58 73 65 74 |r archiv|al..Xset|
|00003030| 20 70 72 69 6f 72 52 65 | 67 69 73 74 72 79 3d 24 | priorRe|gistry=$|
|00003040| 61 63 63 74 44 69 72 2f | 72 65 67 69 73 74 72 79 |acctDir/|registry|
|00003050| 2e 70 72 69 6f 72 0a 58 | 0a 58 23 20 27 74 6f 44 |.prior.X|.X# 'toD|
|00003060| 65 76 27 20 69 73 20 77 | 68 65 72 65 20 74 68 65 |ev' is w|here the|
|00003070| 20 61 72 63 68 69 76 65 | 73 20 61 72 65 20 61 63 | archive|s are ac|
|00003080| 74 75 61 6c 6c 79 20 64 | 69 72 65 63 74 65 64 2e |tually d|irected.|
|00003090| 20 20 4e 6f 72 6d 61 6c | 6c 79 20 69 74 27 73 0a | Normal|ly it's.|
|000030a0| 58 23 20 74 68 65 20 73 | 61 6d 65 20 61 73 20 24 |X# the s|ame as $|
|000030b0| 72 65 61 6c 44 65 76 2c | 20 62 75 74 20 64 75 72 |realDev,| but dur|
|000030c0| 69 6e 67 20 64 65 62 75 | 67 20 69 74 73 20 6a 75 |ing debu|g its ju|
|000030d0| 73 74 20 74 68 65 20 2f | 64 65 76 2f 6e 75 6c 6c |st the /|dev/null|
|000030e0| 20 73 69 6e 6b 2e 0a 58 | 69 66 20 28 24 3f 64 65 | sink..X|if ($?de|
|000030f0| 62 75 67 20 3d 3d 20 31 | 29 20 74 68 65 6e 0a 58 |bug == 1|) then.X|
|00003100| 20 69 66 20 28 22 24 64 | 65 62 75 67 22 20 3d 3d | if ("$d|ebug" ==|
|00003110| 20 22 76 65 72 62 6f 73 | 65 22 29 20 73 65 74 20 | "verbos|e") set |
|00003120| 65 63 68 6f 0a 58 20 73 | 65 74 20 74 6f 44 65 76 |echo.X s|et toDev|
|00003130| 3d 2f 64 65 76 2f 6e 75 | 6c 6c 0a 58 20 73 65 74 |=/dev/nu|ll.X set|
|00003140| 20 73 75 62 6a 50 61 74 | 68 73 3d 28 24 73 63 72 | subjPat|hs=($scr|
|00003150| 69 70 74 44 69 72 2f 61 | 63 63 6f 75 6e 74 69 6e |iptDir/a|ccountin|
|00003160| 67 29 0a 58 20 61 6c 69 | 61 73 20 74 6f 6c 6f 67 |g).X ali|as tolog|
|00003170| 20 27 28 5c 21 2a 29 20 | 7c 26 20 63 61 74 27 0a | '(\!*) ||& cat'.|
|00003180| 58 65 6c 73 65 0a 58 20 | 20 73 65 74 20 74 6f 44 |Xelse.X | set toD|
|00003190| 65 76 3d 24 72 65 61 6c | 44 65 76 0a 58 65 6e 64 |ev=$real|Dev.Xend|
|000031a0| 69 66 0a 58 0a 58 23 38 | 6d 6d 69 6e 2f 38 6d 6d |if.X.X#8|mmin/8mm|
|000031b0| 6f 75 74 20 2d 20 66 69 | 6c 74 65 72 20 69 6e 74 |out - fi|lter int|
|000031c0| 65 72 66 61 63 65 73 20 | 74 6f 20 62 65 20 75 73 |erfaces |to be us|
|000031d0| 65 64 20 66 6f 72 20 61 | 63 63 65 73 73 20 74 6f |ed for a|ccess to|
|000031e0| 20 38 6d 6d 20 74 61 70 | 65 20 64 65 76 69 63 65 | 8mm tap|e device|
|000031f0| 2e 0a 58 61 6c 69 61 73 | 20 38 6d 6d 69 6e 20 64 |..Xalias| 8mmin d|
|00003200| 64 20 69 66 3d 27 5c 21 | 5c 21 3a 31 27 20 69 62 |d if='\!|\!:1' ib|
|00003210| 73 3d 35 31 32 30 0a 58 | 61 6c 69 61 73 20 38 6d |s=5120.X|alias 8m|
|00003220| 6d 6f 75 74 20 64 64 20 | 6f 66 3d 27 5c 21 5c 21 |mout dd |of='\!\!|
|00003230| 3a 31 27 20 6f 62 73 3d | 35 31 32 30 0a 58 23 5e |:1' obs=|5120.X#^|
|00003240| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00003250| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 20 43 6f 6e 74 |^^^^^^^^|^^^ Cont|
|00003260| 72 69 76 65 64 20 76 61 | 72 69 61 62 6c 65 73 20 |rived va|riables |
|00003270| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00003280| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 0a 58 0a |^^^^^^^^|^^^^^.X.|
|00003290| 58 0a 58 0a 58 0a 58 23 | 76 76 76 76 76 76 76 76 |X.X.X.X#|vvvvvvvv|
|000032a0| 76 76 76 76 76 76 76 76 | 20 43 6f 6e 66 69 67 75 |vvvvvvvv| Configu|
|000032b0| 72 61 74 69 6f 6e 20 76 | 65 72 69 66 69 63 61 74 |ration v|erificat|
|000032c0| 69 6f 6e 20 61 6e 64 20 | 72 65 66 6f 72 6d 75 6c |ion and |reformul|
|000032d0| 61 74 69 6f 6e 20 76 76 | 76 76 76 76 76 76 76 76 |ation vv|vvvvvvvv|
|000032e0| 76 76 76 76 76 76 0a 58 | 23 20 46 6f 72 20 62 6f |vvvvvv.X|# For bo|
|000032f0| 7a 6f 73 20 74 68 61 74 | 20 63 72 65 61 74 65 20 |zos that| create |
|00003300| 73 69 6c 6c 79 20 61 6c | 69 61 73 65 73 20 69 6e |silly al|iases in|
|00003310| 20 74 68 65 69 72 20 72 | 6f 6f 74 20 61 63 63 6f | their r|oot acco|
|00003320| 75 6e 74 73 20 28 3a 2d | 29 0a 58 75 6e 61 6c 69 |unts (:-|).Xunali|
|00003330| 61 73 20 72 6d 0a 58 75 | 6e 61 6c 69 61 73 20 6d |as rm.Xu|nalias m|
|00003340| 76 0a 58 75 6e 61 6c 69 | 61 73 20 63 64 0a 58 0a |v.Xunali|as cd.X.|
|00003350| 58 23 20 56 65 72 69 66 | 79 20 65 78 69 73 74 65 |X# Verif|y existe|
|00003360| 6e 63 65 20 6f 66 20 27 | 73 63 72 69 70 74 44 69 |nce of '|scriptDi|
|00003370| 72 27 20 61 6e 64 20 65 | 73 74 61 62 6c 69 73 68 |r' and e|stablish|
|00003380| 20 27 61 63 63 74 44 69 | 72 27 3a 0a 58 0a 58 69 | 'acctDi|r':.X.Xi|
|00003390| 66 20 28 21 20 2d 64 20 | 24 73 63 72 69 70 74 44 |f (! -d |$scriptD|
|000033a0| 69 72 29 20 74 68 65 6e | 0a 58 20 20 65 63 68 6f |ir) then|.X echo|
|000033b0| 20 43 4f 4e 46 49 47 20 | 45 52 52 4f 52 3a 20 64 | CONFIG |ERROR: d|
|000033c0| 65 73 69 67 6e 61 74 65 | 64 20 73 63 72 69 70 74 |esignate|d script|
|000033d0| 44 69 72 20 5c 22 24 73 | 63 72 69 70 74 44 69 72 |Dir \"$s|criptDir|
|000033e0| 5c 22 20 64 6f 65 73 20 | 6e 6f 74 20 65 78 69 73 |\" does |not exis|
|000033f0| 74 0a 58 20 20 67 75 61 | 72 64 65 64 45 78 69 74 |t.X gua|rdedExit|
|00003400| 20 31 09 09 09 09 09 09 | 09 09 23 20 3d 3d 3d 3d | 1......|..# ====|
|00003410| 3e 0a 58 65 6c 73 65 20 | 69 66 20 28 21 20 2d 65 |>.Xelse |if (! -e|
|00003420| 20 24 61 63 63 74 44 69 | 72 29 20 74 68 65 6e 0a | $acctDi|r) then.|
|00003430| 58 20 20 6d 6b 64 69 72 | 20 24 61 63 63 74 44 69 |X mkdir| $acctDi|
|00003440| 72 0a 58 20 20 74 6f 75 | 63 68 20 24 66 75 6c 6c |r.X tou|ch $full|
|00003450| 54 72 69 67 67 65 72 0a | 58 65 6e 64 69 66 0a 58 |Trigger.|Xendif.X|
|00003460| 0a 58 23 20 45 73 74 61 | 62 6c 69 73 68 20 27 6c |.X# Esta|blish 'l|
|00003470| 6f 67 66 69 6c 65 27 20 | 69 66 20 6e 65 63 65 73 |ogfile' |if neces|
|00003480| 73 61 72 79 3a 0a 58 69 | 66 20 28 21 20 2d 65 20 |sary:.Xi|f (! -e |
|00003490| 24 6c 6f 67 66 69 6c 65 | 29 20 74 6f 75 63 68 20 |$logfile|) touch |
|000034a0| 24 6c 6f 67 66 69 6c 65 | 0a 58 0a 58 0a 58 0a 58 |$logfile|.X.X.X.X|
|000034b0| 23 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |#vvvvvvv|vvvvvvvv|
|000034c0| 76 76 76 76 76 76 76 76 | 76 76 20 62 61 63 6b 75 |vvvvvvvv|vv backu|
|000034d0| 70 20 76 73 20 70 72 69 | 6d 69 6e 67 20 62 72 61 |p vs pri|ming bra|
|000034e0| 6e 63 68 20 76 76 76 76 | 76 76 76 76 76 76 76 76 |nch vvvv|vvvvvvvv|
|000034f0| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 0a |vvvvvvvv|vvvvvvv.|
|00003500| 58 69 66 20 28 22 24 73 | 63 4e 6d 22 20 3d 3d 20 |Xif ("$s|cNm" == |
|00003510| 22 66 75 6c 6c 50 72 69 | 6d 65 72 22 29 20 74 68 |"fullPri|mer") th|
|00003520| 65 6e 0a 58 20 20 69 66 | 20 28 22 24 31 22 20 3d |en.X if| ("$1" =|
|00003530| 3d 20 22 22 29 20 74 68 | 65 6e 0a 58 20 20 20 20 |= "") th|en.X |
|00003540| 69 66 20 28 21 20 2d 65 | 20 24 66 75 6c 6c 54 72 |if (! -e| $fullTr|
|00003550| 69 67 67 65 72 29 20 74 | 68 65 6e 0a 58 20 20 20 |igger) t|hen.X |
|00003560| 20 20 20 74 6f 75 63 68 | 20 24 66 75 6c 6c 54 72 | touch| $fullTr|
|00003570| 69 67 67 65 72 0a 58 20 | 20 20 20 20 20 74 6f 6c |igger.X | tol|
|00003580| 6f 67 20 65 63 68 6f 20 | 22 24 7b 73 63 4e 6d 7d |og echo |"${scNm}|
|00003590| 3a 20 50 72 69 6d 65 64 | 20 73 79 73 74 65 6d 20 |: Primed| system |
|000035a0| 66 6f 72 20 66 75 6c 6c | 20 62 61 63 6b 75 70 20 |for full| backup |
|000035b0| 60 64 61 74 65 60 22 0a | 58 20 20 20 20 65 6c 73 |`date`".|X els|
|000035c0| 65 0a 58 20 20 20 20 20 | 20 65 63 68 6f 20 22 24 |e.X | echo "$|
|000035d0| 7b 73 63 4e 6d 7d 3a 20 | 53 79 73 74 65 6d 20 61 |{scNm}: |System a|
|000035e0| 6c 72 65 61 64 79 20 70 | 72 69 6d 65 64 20 66 6f |lready p|rimed fo|
|000035f0| 72 20 66 75 6c 6c 20 62 | 61 63 6b 75 70 20 60 64 |r full b|ackup `d|
|00003600| 61 74 65 60 22 0a 58 20 | 20 20 20 65 6e 64 69 66 |ate`".X | endif|
|00003610| 0a 58 20 20 20 20 65 63 | 68 6f 20 20 5c 27 24 7b |.X ec|ho \'${|
|00003620| 30 7d 20 69 6e 68 69 62 | 69 74 5c 27 20 74 6f 20 |0} inhib|it\' to |
|00003630| 63 61 6e 63 65 6c 0a 58 | 20 20 65 6c 73 65 20 69 |cancel.X| else i|
|00003640| 66 20 28 22 24 31 22 20 | 3d 3d 20 22 69 6e 68 69 |f ("$1" |== "inhi|
|00003650| 62 69 74 22 29 20 74 68 | 65 6e 0a 58 20 20 20 20 |bit") th|en.X |
|00003660| 69 66 20 28 2d 65 20 24 | 66 75 6c 6c 54 72 69 67 |if (-e $|fullTrig|
|00003670| 67 65 72 29 20 74 68 65 | 6e 0a 58 20 20 20 20 20 |ger) the|n.X |
|00003680| 20 72 6d 20 2d 66 20 24 | 66 75 6c 6c 54 72 69 67 | rm -f $|fullTrig|
|00003690| 67 65 72 0a 58 20 20 20 | 20 20 20 74 6f 6c 6f 67 |ger.X | tolog|
|000036a0| 20 65 63 68 6f 20 22 24 | 7b 73 63 4e 6d 7d 3a 20 | echo "$|{scNm}: |
|000036b0| 50 72 69 6d 65 64 20 73 | 79 73 74 65 6d 20 66 6f |Primed s|ystem fo|
|000036c0| 72 20 69 6e 63 72 65 6d | 65 6e 74 61 6c 20 62 61 |r increm|ental ba|
|000036d0| 63 6b 75 70 20 60 64 61 | 74 65 60 22 0a 58 20 20 |ckup `da|te`".X |
|000036e0| 20 20 65 6c 73 65 0a 58 | 20 20 20 20 20 20 65 63 | else.X| ec|
|000036f0| 68 6f 20 22 24 7b 73 63 | 4e 6d 7d 3a 20 53 79 73 |ho "${sc|Nm}: Sys|
|00003700| 74 65 6d 20 61 6c 72 65 | 61 64 79 20 70 72 69 6d |tem alre|ady prim|
|00003710| 65 64 20 66 6f 72 20 69 | 6e 63 72 65 6d 65 6e 74 |ed for i|ncrement|
|00003720| 61 6c 20 62 61 63 6b 75 | 70 20 60 64 61 74 65 60 |al backu|p `date`|
|00003730| 22 0a 58 20 20 20 20 65 | 6e 64 69 66 0a 58 20 20 |".X e|ndif.X |
|00003740| 20 20 65 63 68 6f 20 5c | 27 24 7b 30 7d 5c 27 20 | echo \|'${0}\' |
|00003750| 74 6f 20 65 6e 61 62 6c | 65 20 66 75 6c 6c 20 62 |to enabl|e full b|
|00003760| 61 63 6b 75 70 0a 58 20 | 20 65 6c 73 65 0a 58 20 |ackup.X | else.X |
|00003770| 20 20 20 65 63 68 6f 20 | 22 55 73 61 67 65 3a 20 | echo |"Usage: |
|00003780| 24 7b 73 63 4e 6d 7d 20 | 5b 20 69 6e 68 69 62 69 |${scNm} |[ inhibi|
|00003790| 74 20 5d 22 0a 58 20 20 | 65 6e 64 69 66 0a 58 20 |t ]".X |endif.X |
|000037a0| 20 67 75 61 72 64 65 64 | 45 78 69 74 20 30 09 09 | guarded|Exit 0..|
|000037b0| 09 09 09 09 09 09 23 20 | 3d 3d 3d 3d 3e 0a 58 65 |......# |====>.Xe|
|000037c0| 6e 64 69 66 0a 58 23 5e | 5e 5e 5e 5e 5e 5e 5e 5e |ndif.X#^|^^^^^^^^|
|000037d0| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|000037e0| 20 62 61 63 6b 75 70 20 | 76 73 20 70 72 69 6d 69 | backup |vs primi|
|000037f0| 6e 67 20 62 72 61 6e 63 | 68 20 5e 5e 5e 5e 5e 5e |ng branc|h ^^^^^^|
|00003800| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00003810| 5e 5e 5e 5e 5e 0a 58 0a | 58 0a 58 23 48 65 72 65 |^^^^^.X.|X.X#Here|
|00003820| 6f 6e 20 77 65 27 72 65 | 20 64 6f 69 6e 67 20 62 |on we're| doing b|
|00003830| 61 63 6b 75 70 20 77 6f | 72 6b 3a 0a 58 0a 58 23 |ackup wo|rk:.X.X#|
|00003840| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|00003850| 76 76 76 20 50 72 65 6c | 69 6d 69 6e 61 72 79 20 |vvv Prel|iminary |
|00003860| 61 63 63 6f 75 6e 74 69 | 6e 67 20 61 6e 64 20 70 |accounti|ng and p|
|00003870| 72 6f 63 65 73 73 69 6e | 67 20 76 76 76 76 76 76 |rocessin|g vvvvvv|
|00003880| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 0a 58 |vvvvvvvv|vvvvvv.X|
|00003890| 23 20 6d 6f 64 65 20 2d | 20 65 69 74 68 65 72 20 |# mode -| either |
|000038a0| 27 66 75 6c 6c 27 2c 20 | 27 69 6e 63 72 27 2c 20 |'full', |'incr', |
|000038b0| 6f 72 20 27 76 65 72 69 | 66 79 27 2e 0a 58 23 09 |or 'veri|fy'..X#.|
|000038c0| 20 27 69 6e 63 72 27 3a | 20 64 65 66 61 75 6c 74 | 'incr':| default|
|000038d0| 0a 58 23 09 20 27 66 75 | 6c 6c 27 3a 20 69 66 20 |.X#. 'fu|ll': if |
|000038e0| 66 75 6c 6c 54 72 69 67 | 67 65 72 20 66 69 6c 65 |fullTrig|ger file|
|000038f0| 20 65 78 69 73 74 73 0a | 58 23 09 20 27 76 65 72 | exists.|X#. 'ver|
|00003900| 69 66 79 27 3a 20 77 69 | 74 68 20 22 76 65 72 69 |ify': wi|th "veri|
|00003910| 66 79 22 20 61 72 67 75 | 6d 65 6e 74 2c 20 64 6f |fy" argu|ment, do|
|00003920| 20 6a 75 73 74 20 70 72 | 65 6c 69 6d 69 6e 61 72 | just pr|eliminar|
|00003930| 79 20 73 74 75 66 66 0a | 58 73 65 74 20 6d 6f 64 |y stuff.|Xset mod|
|00003940| 65 3d 24 31 0a 58 69 66 | 20 28 22 24 6d 6f 64 65 |e=$1.Xif| ("$mode|
|00003950| 22 20 21 3d 20 22 76 65 | 72 69 66 79 22 29 20 74 |" != "ve|rify") t|
|00003960| 68 65 6e 0a 58 20 20 69 | 66 20 28 2d 65 20 24 66 |hen.X i|f (-e $f|
|00003970| 75 6c 6c 54 72 69 67 67 | 65 72 29 20 74 68 65 6e |ullTrigg|er) then|
|00003980| 0a 58 20 20 20 20 73 65 | 74 20 6d 6f 64 65 3d 27 |.X se|t mode='|
|00003990| 66 75 6c 6c 27 0a 58 20 | 20 65 6c 73 65 0a 58 20 |full'.X | else.X |
|000039a0| 20 20 20 73 65 74 20 6d | 6f 64 65 3d 27 69 6e 63 | set m|ode='inc|
|000039b0| 72 27 0a 58 20 20 65 6e | 64 69 66 0a 58 65 6e 64 |r'.X en|dif.Xend|
|000039c0| 69 66 0a 58 0a 58 69 66 | 20 28 22 24 6d 6f 64 65 |if.X.Xif| ("$mode|
|000039d0| 22 20 21 3d 20 22 66 75 | 6c 6c 22 20 26 26 20 22 |" != "fu|ll" && "|
|000039e0| 24 6d 6f 64 65 22 20 21 | 3d 20 22 69 6e 63 72 22 |$mode" !|= "incr"|
|000039f0| 20 26 26 20 22 24 6d 6f | 64 65 22 20 21 3d 20 22 | && "$mo|de" != "|
|00003a00| 76 65 72 69 66 79 22 29 | 20 74 68 65 6e 0a 58 20 |verify")| then.X |
|00003a10| 20 69 66 20 28 24 69 6e | 74 65 72 61 63 74 69 76 | if ($in|teractiv|
|00003a20| 65 20 3d 3d 20 31 29 20 | 74 68 65 6e 0a 58 20 20 |e == 1) |then.X |
|00003a30| 20 20 65 63 68 6f 20 49 | 6e 76 61 6c 69 64 20 6d | echo I|nvalid m|
|00003a40| 6f 64 65 3a 20 24 6d 6f | 64 65 0a 58 20 20 20 20 |ode: $mo|de.X |
|00003a50| 67 65 74 4d 6f 64 65 3a | 0a 58 20 20 20 20 65 63 |getMode:|.X ec|
|00003a60| 68 6f 20 2d 6e 20 22 66 | 75 6c 6c 2c 20 69 6e 63 |ho -n "f|ull, inc|
|00003a70| 72 2c 20 76 65 72 69 66 | 79 2c 20 6f 72 20 71 75 |r, verif|y, or qu|
|00003a80| 69 74 3f 20 22 0a 58 20 | 20 20 20 73 65 74 20 6d |it? ".X | set m|
|00003a90| 6f 64 65 3d 22 24 3c 22 | 0a 58 20 20 20 20 69 66 |ode="$<"|.X if|
|00003aa0| 20 28 22 24 6d 6f 64 65 | 22 20 21 3d 20 22 66 75 | ("$mode|" != "fu|
|00003ab0| 6c 6c 22 20 26 26 20 22 | 24 6d 6f 64 65 22 20 21 |ll" && "|$mode" !|
|00003ac0| 3d 20 22 69 6e 63 72 22 | 20 26 26 20 22 24 6d 6f |= "incr"| && "$mo|
|00003ad0| 64 65 22 20 21 3d 20 22 | 76 65 72 69 66 79 22 20 |de" != "|verify" |
|00003ae0| 5c 0a 58 09 26 26 20 22 | 24 6d 6f 64 65 22 20 21 |\.X.&& "|$mode" !|
|00003af0| 3d 20 22 71 75 69 74 22 | 29 20 67 6f 74 6f 20 67 |= "quit"|) goto g|
|00003b00| 65 74 4d 6f 64 65 0a 58 | 20 20 20 20 69 66 20 28 |etMode.X| if (|
|00003b10| 24 6d 6f 64 65 20 3d 3d | 20 22 71 75 69 74 22 29 |$mode ==| "quit")|
|00003b20| 20 74 68 65 6e 0a 58 20 | 20 20 20 20 20 67 75 61 | then.X | gua|
|00003b30| 72 64 65 64 45 78 69 74 | 20 30 09 09 09 09 09 09 |rdedExit| 0......|
|00003b40| 09 23 20 3d 3d 3d 3d 3e | 0a 58 20 20 20 20 65 6e |.# ====>|.X en|
|00003b50| 64 69 66 0a 58 20 20 65 | 6c 73 65 0a 58 20 20 20 |dif.X e|lse.X |
|00003b60| 20 74 6f 6c 6f 67 20 65 | 63 68 6f 20 24 7b 73 63 | tolog e|cho ${sc|
|00003b70| 4e 6d 7d 20 45 52 52 4f | 52 3a 20 22 55 73 61 67 |Nm} ERRO|R: "Usag|
|00003b80| 65 3a 20 24 7b 73 63 4e | 6d 7d 20 5b 20 76 65 72 |e: ${scN|m} [ ver|
|00003b90| 69 66 79 20 5d 22 0a 58 | 20 20 20 20 67 75 61 72 |ify ]".X| guar|
|00003ba0| 64 65 64 45 78 69 74 20 | 31 09 09 09 09 09 09 09 |dedExit |1.......|
|00003bb0| 23 20 3d 3d 3d 3d 3e 0a | 58 20 20 65 6e 64 69 66 |# ====>.|X endif|
|00003bc0| 0a 58 65 6e 64 69 66 0a | 58 20 20 0a 58 23 20 56 |.Xendif.|X .X# V|
|00003bd0| 65 72 69 66 79 20 61 62 | 73 65 6e 63 65 20 6f 66 |erify ab|sence of|
|00003be0| 20 61 6e 64 20 63 6c 61 | 69 6d 20 69 6e 74 65 72 | and cla|im inter|
|00003bf0| 6c 6f 63 6b 3a 0a 58 69 | 66 20 28 2d 65 20 24 69 |lock:.Xi|f (-e $i|
|00003c00| 6e 74 65 72 6c 6f 63 6b | 29 20 74 68 65 6e 0a 58 |nterlock|) then.X|
|00003c10| 20 20 74 6f 6c 6f 67 20 | 65 63 68 6f 20 24 7b 73 | tolog |echo ${s|
|00003c20| 63 4e 6d 7d 20 49 4e 54 | 45 52 4c 4f 43 4b 20 43 |cNm} INT|ERLOCK C|
|00003c30| 4f 4e 46 4c 49 43 54 3a | 20 5c 22 24 69 6e 74 65 |ONFLICT:| \"$inte|
|00003c40| 72 6c 6f 63 6b 5c 22 20 | 69 6e 74 65 72 6c 6f 63 |rlock\" |interloc|
|00003c50| 6b 20 65 78 69 73 74 73 | 20 2d 0a 58 20 20 74 6f |k exists| -.X to|
|00003c60| 6c 6f 67 20 65 63 68 6f | 20 61 6e 6f 74 68 65 72 |log echo| another|
|00003c70| 20 62 61 63 6b 75 70 20 | 6d 61 79 20 61 6c 72 65 | backup |may alre|
|00003c80| 61 64 79 20 62 65 20 69 | 6e 20 70 72 6f 67 72 65 |ady be i|n progre|
|00003c90| 73 73 2e 0a 58 20 20 69 | 66 20 28 24 69 6e 74 65 |ss..X i|f ($inte|
|00003ca0| 72 61 63 74 69 76 65 20 | 3d 3d 20 31 29 20 74 68 |ractive |== 1) th|
|00003cb0| 65 6e 0a 58 20 20 20 20 | 65 63 68 6f 20 2d 6e 20 |en.X |echo -n |
|00003cc0| 22 43 6c 65 61 72 20 69 | 6e 74 65 72 6c 6f 63 6b |"Clear i|nterlock|
|00003cd0| 20 61 6e 64 20 63 6f 6e | 74 69 6e 75 65 3f 20 5b | and con|tinue? [|
|00003ce0| 79 20 6f 72 20 28 64 65 | 66 61 75 6c 74 3a 29 20 |y or (de|fault:) |
|00003cf0| 6e 5d 20 22 0a 58 20 20 | 20 20 69 66 20 28 22 24 |n] ".X | if ("$|
|00003d00| 3c 22 20 3d 3d 20 22 79 | 22 29 20 74 68 65 6e 0a |<" == "y|") then.|
|00003d10| 58 20 20 20 20 20 20 72 | 6d 20 24 69 6e 74 65 72 |X r|m $inter|
|00003d20| 6c 6f 63 6b 0a 58 20 20 | 20 20 20 20 67 6f 74 6f |lock.X | goto|
|00003d30| 20 69 6e 74 65 72 6c 6f | 63 6b 43 6c 65 61 72 09 | interlo|ckClear.|
|00003d40| 09 09 09 09 09 23 20 76 | 76 76 76 76 0a 58 20 20 |.....# v|vvvv.X |
|00003d50| 20 20 65 6c 73 65 0a 58 | 20 20 20 20 65 6e 64 69 | else.X| endi|
|00003d60| 66 0a 58 20 20 65 6e 64 | 69 66 0a 58 20 20 74 6f |f.X end|if.X to|
|00003d70| 6c 6f 67 20 65 63 68 6f | 20 24 7b 73 63 4e 6d 7d |log echo| ${scNm}|
|00003d80| 20 69 6e 74 65 72 6c 6f | 63 6b 20 63 6f 6c 6c 69 | interlo|ck colli|
|00003d90| 73 69 6f 6e 20 2d 20 65 | 78 69 74 69 6e 67 0a 58 |sion - e|xiting.X|
|00003da0| 20 20 67 75 61 72 64 65 | 64 45 78 69 74 20 31 09 | guarde|dExit 1.|
|00003db0| 09 09 09 09 09 09 09 23 | 20 3d 3d 3d 3d 3e 0a 58 |.......#| ====>.X|
|00003dc0| 65 6e 64 69 66 0a 58 0a | 58 69 6e 74 65 72 6c 6f |endif.X.|Xinterlo|
|00003dd0| 63 6b 43 6c 65 61 72 3a | 0a 58 0a 58 73 65 74 20 |ckClear:|.X.Xset |
|00003de0| 64 61 74 65 53 74 61 6d | 70 3d 60 64 61 74 65 60 |dateStam|p=`date`|
|00003df0| 0a 58 65 63 68 6f 20 24 | 64 61 74 65 53 74 61 6d |.Xecho $|dateStam|
|00003e00| 70 20 3e 20 24 69 6e 74 | 65 72 6c 6f 63 6b 0a 58 |p > $int|erlock.X|
|00003e10| 67 75 61 72 64 20 63 6c | 65 61 6e 75 70 49 6e 74 |guard cl|eanupInt|
|00003e20| 65 72 6c 6f 63 6b 0a 58 | 0a 58 23 20 42 65 67 69 |erlock.X|.X# Begi|
|00003e30| 6e 20 6c 6f 67 20 65 6e | 74 72 79 20 66 6f 72 20 |n log en|try for |
|00003e40| 74 68 69 73 20 62 61 63 | 6b 75 70 20 73 65 73 73 |this bac|kup sess|
|00003e50| 69 6f 6e 3a 0a 58 74 6f | 6c 6f 67 20 65 63 68 6f |ion:.Xto|log echo|
|00003e60| 20 2d 6e 20 22 24 7b 73 | 63 4e 6d 7d 20 76 20 24 | -n "${s|cNm} v $|
|00003e70| 7b 76 65 72 73 69 6f 6e | 7d 3a 20 24 6d 6f 64 65 |{version|}: $mode|
|00003e80| 20 6d 6f 64 65 09 09 09 | 22 0a 58 74 6f 6c 6f 67 | mode...|".Xtolog|
|00003e90| 20 65 63 68 6f 20 24 64 | 61 74 65 53 74 61 6d 70 | echo $d|ateStamp|
|00003ea0| 0a 58 74 6f 6c 6f 67 20 | 65 63 68 6f 20 22 43 6f |.Xtolog |echo "Co|
|00003eb0| 6e 66 69 67 75 72 61 74 | 69 6f 6e 20 53 74 61 67 |nfigurat|ion Stag|
|00003ec0| 65 2e 2e 2e 22 0a 58 74 | 6f 6c 6f 67 20 65 63 68 |e...".Xt|olog ech|
|00003ed0| 6f 20 2d 6e 20 22 20 20 | 48 6f 73 74 3a 20 60 68 |o -n " |Host: `h|
|00003ee0| 6f 73 74 6e 61 6d 65 60 | 22 0a 58 74 6f 6c 6f 67 |ostname`|".Xtolog|
|00003ef0| 20 65 63 68 6f 20 2d 6e | 20 22 20 20 42 61 63 6b | echo -n| " Back|
|00003f00| 75 70 20 64 65 76 69 63 | 65 3a 20 24 72 65 61 6c |up devic|e: $real|
|00003f10| 44 65 76 22 0a 58 69 66 | 20 28 24 3f 64 65 62 75 |Dev".Xif| ($?debu|
|00003f20| 67 20 3d 3d 20 31 29 20 | 74 68 65 6e 0a 58 20 20 |g == 1) |then.X |
|00003f30| 74 6f 6c 6f 67 20 65 63 | 68 6f 20 2d 6e 20 22 20 |tolog ec|ho -n " |
|00003f40| 28 69 6e 20 64 65 62 75 | 67 2c 20 64 75 6d 70 20 |(in debu|g, dump |
|00003f50| 74 6f 20 24 74 6f 44 65 | 76 29 22 0a 58 65 6e 64 |to $toDe|v)".Xend|
|00003f60| 69 66 0a 58 74 6f 6c 6f | 67 20 65 63 68 6f 20 22 |if.Xtolo|g echo "|
|00003f70| 20 2d 20 64 65 73 69 67 | 6e 61 74 65 64 20 63 61 | - desig|nated ca|
|00003f80| 70 61 63 69 74 79 20 24 | 74 6f 74 61 6c 43 61 70 |pacity $|totalCap|
|00003f90| 22 0a 58 74 6f 6c 6f 67 | 20 65 63 68 6f 20 22 20 |".Xtolog| echo " |
|00003fa0| 20 53 75 62 6a 65 63 74 | 20 70 61 74 68 73 3a 20 | Subject| paths: |
|00003fb0| 24 73 75 62 6a 50 61 74 | 68 73 22 0a 58 74 6f 6c |$subjPat|hs".Xtol|
|00003fc0| 6f 67 20 65 63 68 6f 20 | 22 20 20 45 78 63 6c 75 |og echo |" Exclu|
|00003fd0| 64 65 20 70 61 74 68 73 | 3a 20 24 65 78 63 6c 75 |de paths|: $exclu|
|00003fe0| 64 65 50 61 74 68 73 22 | 0a 58 74 6f 6c 6f 67 20 |dePaths"|.Xtolog |
|00003ff0| 65 63 68 6f 20 22 20 20 | 45 78 63 6c 75 64 65 20 |echo " |Exclude |
|00004000| 64 69 72 20 62 61 73 65 | 6e 61 6d 65 73 3a 20 24 |dir base|names: $|
|00004010| 65 78 63 6c 75 64 65 44 | 69 72 73 22 0a 58 0a 58 |excludeD|irs".X.X|
|00004020| 23 20 41 64 64 20 61 63 | 63 6f 75 6e 74 69 6e 67 |# Add ac|counting|
|00004030| 20 64 69 72 20 74 6f 20 | 68 65 61 64 20 6f 66 20 | dir to |head of |
|00004040| 73 75 62 6a 50 61 74 68 | 73 20 73 6f 20 61 63 63 |subjPath|s so acc|
|00004050| 6f 75 6e 74 69 6e 67 20 | 72 65 73 69 64 65 73 20 |ounting |resides |
|00004060| 61 74 20 68 65 61 64 20 | 6f 66 0a 58 23 20 61 72 |at head |of.X# ar|
|00004070| 63 68 69 76 65 2c 20 69 | 73 20 66 61 73 74 20 61 |chive, i|s fast a|
|00004080| 6e 64 20 65 61 73 79 20 | 74 6f 20 72 65 74 72 69 |nd easy |to retri|
|00004090| 65 76 65 3a 0a 58 0a 58 | 73 65 74 20 73 75 62 6a |eve:.X.X|set subj|
|000040a0| 50 61 74 68 73 3d 28 24 | 61 63 63 74 44 69 72 20 |Paths=($|acctDir |
|000040b0| 24 73 75 62 6a 50 61 74 | 68 73 29 0a 58 0a 58 23 |$subjPat|hs).X.X#|
|000040c0| 20 4e 6f 72 6d 61 6c 69 | 7a 65 20 64 69 72 65 63 | Normali|ze direc|
|000040d0| 74 6f 72 69 65 73 3a 0a | 58 0a 58 23 20 46 69 6c |tories:.|X.X# Fil|
|000040e0| 74 65 72 20 70 61 74 68 | 73 20 74 6f 3a 0a 58 23 |ter path|s to:.X#|
|000040f0| 20 2d 20 72 65 76 65 61 | 6c 20 65 72 72 6f 6e 65 | - revea|l errone|
|00004100| 6f 75 73 20 72 65 66 65 | 72 65 6e 63 65 73 0a 58 |ous refe|rences.X|
|00004110| 23 20 2d 20 6e 6f 72 6d | 61 6c 69 7a 65 20 76 61 |# - norm|alize va|
|00004120| 6c 69 64 20 72 65 66 65 | 72 65 6e 63 65 73 20 74 |lid refe|rences t|
|00004130| 6f 20 62 65 20 22 72 65 | 6c 61 74 69 76 65 20 72 |o be "re|lative r|
|00004140| 6f 6f 74 65 64 22 20 70 | 61 74 68 73 20 28 70 61 |ooted" p|aths (pa|
|00004150| 74 68 73 20 70 72 65 66 | 69 78 65 64 0a 58 23 20 |ths pref|ixed.X# |
|00004160| 20 20 77 69 74 68 20 27 | 2e 2f 27 29 20 77 68 6f | with '|./') who|
|00004170| 73 65 20 63 6f 6e 74 65 | 6e 74 73 20 61 72 65 20 |se conte|nts are |
|00004180| 74 6f 20 62 65 20 65 78 | 63 6c 75 64 65 64 20 66 |to be ex|cluded f|
|00004190| 72 6f 6d 20 70 72 65 73 | 65 72 76 61 74 69 6f 6e |rom pres|ervation|
|000041a0| 3b 20 75 73 69 6e 67 0a | 58 23 20 20 20 22 72 65 |; using.|X# "re|
|000041b0| 6c 61 74 69 76 65 20 72 | 6f 6f 74 65 64 22 20 70 |lative r|ooted" p|
|000041c0| 61 74 68 73 20 77 69 74 | 68 20 63 70 69 6f 20 77 |aths wit|h cpio w|
|000041d0| 69 6c 6c 20 61 6c 6c 6f | 77 20 72 65 73 74 6f 72 |ill allo|w restor|
|000041e0| 61 74 69 6f 6e 20 6f 66 | 20 66 69 6c 65 73 2c 20 |ation of| files, |
|000041f0| 77 69 74 68 0a 58 23 20 | 20 20 61 6c 6c 20 74 68 |with.X# | all th|
|00004200| 65 20 69 6e 66 6f 72 6d | 61 74 69 6f 6e 20 61 62 |e inform|ation ab|
|00004210| 6f 75 74 20 74 68 65 69 | 72 20 70 61 74 68 20 6c |out thei|r path l|
|00004220| 6f 63 61 74 69 6f 6e 73 | 2c 20 74 6f 20 61 72 62 |ocations|, to arb|
|00004230| 69 74 61 72 79 20 70 6c | 61 63 65 73 20 28 69 65 |itary pl|aces (ie|
|00004240| 2c 0a 58 23 20 20 20 69 | 6e 74 6f 20 74 68 65 20 |,.X# i|nto the |
|00004250| 64 69 72 65 63 74 6f 72 | 79 20 77 68 65 72 65 20 |director|y where |
|00004260| 72 65 73 75 72 72 65 63 | 74 69 6f 6e 20 69 73 20 |resurrec|tion is |
|00004270| 69 6e 76 6f 6b 65 64 29 | 2e 0a 58 66 6f 72 65 61 |invoked)|..Xforea|
|00004280| 63 68 20 63 75 72 50 61 | 74 68 73 56 61 72 20 28 |ch curPa|thsVar (|
|00004290| 73 75 62 6a 50 61 74 68 | 73 20 65 78 63 6c 75 64 |subjPath|s exclud|
|000042a0| 65 50 61 74 68 73 29 0a | 58 20 20 73 65 74 20 61 |ePaths).|X set a|
|000042b0| 63 63 75 6d 50 61 74 68 | 3d 22 22 0a 58 20 20 73 |ccumPath|="".X s|
|000042c0| 65 74 20 70 61 74 68 45 | 78 69 73 74 73 3d 31 0a |et pathE|xists=1.|
|000042d0| 58 20 20 23 20 75 73 65 | 20 67 65 74 76 61 6c 20 |X # use| getval |
|000042e0| 61 73 20 61 20 63 6f 6d | 6d 61 6e 64 20 74 6f 20 |as a com|mand to |
|000042f0| 67 65 74 20 76 61 6c 75 | 65 20 6f 66 20 63 75 72 |get valu|e of cur|
|00004300| 72 65 6e 74 20 70 61 74 | 68 73 20 76 61 72 69 61 |rent pat|hs varia|
|00004310| 62 6c 65 3a 0a 58 20 20 | 61 6c 69 61 73 20 67 65 |ble:.X |alias ge|
|00004320| 74 76 61 6c 20 65 63 68 | 6f 20 27 24 27 24 63 75 |tval ech|o '$'$cu|
|00004330| 72 50 61 74 68 73 56 61 | 72 0a 58 20 20 66 6f 72 |rPathsVa|r.X for|
|00004340| 65 61 63 68 20 61 50 61 | 74 68 20 28 60 67 65 74 |each aPa|th (`get|
|00004350| 76 61 6c 60 29 0a 58 20 | 20 20 20 69 66 20 28 21 |val`).X | if (!|
|00004360| 20 2d 65 20 24 61 50 61 | 74 68 29 20 74 68 65 6e | -e $aPa|th) then|
|00004370| 0a 58 20 20 20 20 20 20 | 74 6f 6c 6f 67 20 65 63 |.X |tolog ec|
|00004380| 68 6f 20 24 7b 73 63 4e | 6d 7d 20 43 4f 4e 46 49 |ho ${scN|m} CONFI|
|00004390| 47 20 45 52 52 4f 52 3a | 20 6e 6f 20 73 75 63 68 |G ERROR:| no such|
|000043a0| 20 66 69 6c 65 20 5c 22 | 24 61 50 61 74 68 5c 22 | file \"|$aPath\"|
|000043b0| 20 22 28 24 63 75 72 50 | 61 74 68 73 56 61 72 29 | "($curP|athsVar)|
|000043c0| 22 0a 58 20 20 20 20 20 | 20 73 65 74 20 70 61 74 |".X | set pat|
|000043d0| 68 45 78 69 73 74 73 3d | 30 0a 58 20 20 20 20 65 |hExists=|0.X e|
|000043e0| 6c 73 65 0a 58 20 20 20 | 20 20 20 73 65 74 20 75 |lse.X | set u|
|000043f0| 6e 72 61 76 65 6c 65 64 | 3d 60 28 63 64 20 24 61 |nraveled|=`(cd $a|
|00004400| 50 61 74 68 3b 20 70 77 | 64 29 60 0a 58 20 20 20 |Path; pw|d)`.X |
|00004410| 20 20 20 69 66 20 28 24 | 73 74 61 74 75 73 20 3d | if ($|status =|
|00004420| 3d 20 31 29 20 74 68 65 | 6e 09 09 09 09 09 20 20 |= 1) the|n..... |
|00004430| 20 20 20 23 20 62 61 64 | 20 64 69 72 3a 0a 58 20 | # bad| dir:.X |
|00004440| 20 20 74 6f 6c 6f 67 20 | 65 63 68 6f 20 24 7b 73 | tolog |echo ${s|
|00004450| 63 4e 6d 7d 20 43 4f 4e | 46 49 47 20 45 52 52 4f |cNm} CON|FIG ERRO|
|00004460| 52 3a 20 5c 22 24 61 50 | 61 74 68 5c 22 20 6e 6f |R: \"$aP|ath\" no|
|00004470| 74 20 61 20 64 69 72 65 | 63 74 6f 72 79 20 22 28 |t a dire|ctory "(|
|00004480| 24 63 75 72 50 61 74 68 | 73 56 61 72 29 22 0a 58 |$curPath|sVar)".X|
|00004490| 09 73 65 74 20 70 61 74 | 68 45 78 69 73 74 73 3d |.set pat|hExists=|
|000044a0| 30 0a 58 20 20 20 20 20 | 20 65 6e 64 69 66 0a 58 |0.X | endif.X|
|000044b0| 20 20 20 20 65 6e 64 69 | 66 0a 58 20 20 20 20 69 | endi|f.X i|
|000044c0| 66 20 28 24 70 61 74 68 | 45 78 69 73 74 73 20 3d |f ($path|Exists =|
|000044d0| 3d 20 30 29 20 74 68 65 | 6e 0a 58 20 20 20 20 20 |= 0) the|n.X |
|000044e0| 20 73 77 69 74 63 68 20 | 28 24 63 75 72 50 61 74 | switch |($curPat|
|000044f0| 68 73 56 61 72 29 0a 58 | 20 20 20 20 20 20 63 61 |hsVar).X| ca|
|00004500| 73 65 20 73 75 62 6a 50 | 61 74 68 73 3a 0a 58 09 |se subjP|aths:.X.|
|00004510| 74 6f 6c 6f 67 20 65 63 | 68 6f 20 22 20 20 4e 6f |tolog ec|ho " No|
|00004520| 6e 65 78 69 73 74 61 6e | 74 20 73 75 62 6a 65 63 |nexistan|t subjec|
|00004530| 74 20 64 69 72 65 63 74 | 6f 72 79 20 2d 20 64 72 |t direct|ory - dr|
|00004540| 61 73 74 69 63 20 65 72 | 72 6f 72 2c 20 65 78 69 |astic er|ror, exi|
|00004550| 74 69 6e 67 2e 22 0a 58 | 20 20 20 20 20 20 20 20 |ting.".X| |
|00004560| 67 75 61 72 64 65 64 45 | 78 69 74 20 31 09 09 09 |guardedE|xit 1...|
|00004570| 09 09 09 09 23 20 3d 3d | 3d 3d 3e 0a 58 09 62 72 |....# ==|==>.X.br|
|00004580| 65 61 6b 73 77 0a 58 20 | 20 20 20 20 20 63 61 73 |eaksw.X | cas|
|00004590| 65 20 65 78 63 6c 75 64 | 65 50 61 74 68 73 3a 0a |e exclud|ePaths:.|
|000045a0| 58 09 74 6f 6c 6f 67 20 | 65 63 68 6f 20 22 20 20 |X.tolog |echo " |
|000045b0| 4e 6f 6e 65 78 69 73 74 | 61 6e 74 20 65 78 63 6c |Nonexist|ant excl|
|000045c0| 75 64 65 2d 64 69 72 65 | 63 74 6f 72 79 20 2d 20 |ude-dire|ctory - |
|000045d0| 6d 69 6e 6f 72 20 65 72 | 72 6f 72 2c 20 63 6f 6e |minor er|ror, con|
|000045e0| 74 69 6e 75 69 6e 67 2e | 22 0a 58 09 73 65 74 20 |tinuing.|".X.set |
|000045f0| 75 6e 72 61 76 65 6c 65 | 64 3d 22 22 0a 58 20 20 |unravele|d="".X |
|00004600| 20 20 20 20 65 6e 64 73 | 77 0a 58 20 20 20 20 20 | ends|w.X |
|00004610| 20 73 65 74 20 70 61 74 | 68 45 78 69 73 74 73 3d | set pat|hExists=|
|00004620| 31 09 09 09 09 09 20 20 | 20 20 23 20 72 65 69 6e |1..... | # rein|
|00004630| 69 74 20 70 61 74 68 45 | 78 69 73 74 73 0a 58 20 |it pathE|xists.X |
|00004640| 20 20 20 65 6c 73 65 0a | 58 20 20 20 20 20 20 73 | else.|X s|
|00004650| 65 74 20 61 63 63 75 6d | 50 61 74 68 3d 28 24 61 |et accum|Path=($a|
|00004660| 63 63 75 6d 50 61 74 68 | 20 2e 24 75 6e 72 61 76 |ccumPath| .$unrav|
|00004670| 65 6c 65 64 29 0a 58 20 | 20 20 20 65 6e 64 69 66 |eled).X | endif|
|00004680| 0a 58 20 20 65 6e 64 0a | 58 20 20 73 65 74 20 24 |.X end.|X set $|
|00004690| 63 75 72 50 61 74 68 73 | 56 61 72 3d 28 24 61 63 |curPaths|Var=($ac|
|000046a0| 63 75 6d 50 61 74 68 29 | 0a 58 65 6e 64 0a 58 0a |cumPath)|.Xend.X.|
|000046b0| 58 23 20 46 6f 72 6d 75 | 6c 61 74 65 20 66 67 72 |X# Formu|late fgr|
|000046c0| 65 70 20 63 6c 61 75 73 | 65 3a 0a 58 72 6d 20 2d |ep claus|e:.Xrm -|
|000046d0| 66 20 24 66 67 72 65 70 | 43 6c 61 75 73 65 46 69 |f $fgrep|ClauseFi|
|000046e0| 6c 65 0a 58 69 66 20 28 | 22 24 65 78 63 6c 75 64 |le.Xif (|"$exclud|
|000046f0| 65 50 61 74 68 73 22 20 | 21 3d 20 22 22 29 20 74 |ePaths" |!= "") t|
|00004700| 68 65 6e 0a 58 20 20 3a | 3e 21 20 24 66 67 72 65 |hen.X :|>! $fgre|
|00004710| 70 43 6c 61 75 73 65 46 | 69 6c 65 0a 58 20 20 66 |pClauseF|ile.X f|
|00004720| 6f 72 65 61 63 68 20 61 | 50 61 74 68 20 28 24 65 |oreach a|Path ($e|
|00004730| 78 63 6c 75 64 65 50 61 | 74 68 73 29 0a 58 20 20 |xcludePa|ths).X |
|00004740| 20 20 65 63 68 6f 20 24 | 61 50 61 74 68 20 3e 3e | echo $|aPath >>|
|00004750| 20 24 66 67 72 65 70 43 | 6c 61 75 73 65 46 69 6c | $fgrepC|lauseFil|
|00004760| 65 0a 58 20 20 65 6e 64 | 0a 58 65 6e 64 69 66 0a |e.X end|.Xendif.|
|00004770| 58 0a 58 69 66 20 28 24 | 6d 6f 64 65 20 3d 3d 20 |X.Xif ($|mode == |
|00004780| 22 76 65 72 69 66 79 22 | 29 20 74 68 65 6e 0a 58 |"verify"|) then.X|
|00004790| 20 20 74 6f 6c 6f 67 20 | 65 63 68 6f 20 22 20 20 | tolog |echo " |
|000047a0| 56 65 72 69 66 69 63 61 | 74 69 6f 6e 20 63 6f 6d |Verifica|tion com|
|000047b0| 70 6c 65 74 65 2e 22 0a | 58 20 20 67 75 61 72 64 |plete.".|X guard|
|000047c0| 65 64 45 78 69 74 20 30 | 09 09 09 09 09 09 09 09 |edExit 0|........|
|000047d0| 23 20 3d 3d 3d 3d 3e 0a | 58 65 6e 64 69 66 0a 58 |# ====>.|Xendif.X|
|000047e0| 23 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |#^^^^^^^|^^^^^^^^|
|000047f0| 5e 5e 5e 5e 20 50 72 65 | 6c 69 6d 69 6e 61 72 79 |^^^^ Pre|liminary|
|00004800| 20 61 63 63 6f 75 6e 74 | 69 6e 67 20 61 6e 64 20 | account|ing and |
|00004810| 70 72 6f 63 65 73 73 69 | 6e 67 20 5e 5e 5e 5e 5e |processi|ng ^^^^^|
|00004820| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 0a |^^^^^^^^|^^^^^^^.|
|00004830| 58 0a 58 0a 58 0a 58 23 | 76 76 76 76 76 76 76 76 |X.X.X.X#|vvvvvvvv|
|00004840| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|00004850| 20 45 73 74 61 62 6c 69 | 73 68 20 73 65 71 75 65 | Establi|sh seque|
|00004860| 6e 63 65 20 69 6e 66 6f | 20 76 76 76 76 76 76 76 |nce info| vvvvvvv|
|00004870| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|00004880| 76 76 76 76 76 76 0a 58 | 23 20 45 73 74 61 62 6c |vvvvvv.X|# Establ|
|00004890| 69 73 68 20 6e 65 77 20 | 73 65 71 49 44 20 61 6e |ish new |seqID an|
|000048a0| 64 20 66 69 6c 65 2c 20 | 61 6e 64 20 67 65 74 20 |d file, |and get |
|000048b0| 70 72 69 6f 72 20 63 61 | 70 61 63 69 74 79 2e 0a |prior ca|pacity..|
|000048c0| 58 23 20 44 6f 20 65 63 | 68 6f 20 74 6f 20 27 6e |X# Do ec|ho to 'n|
|000048d0| 65 77 53 65 71 49 44 46 | 69 6c 65 27 20 6c 61 73 |ewSeqIDF|ile' las|
|000048e0| 74 20 73 6f 20 6d 6f 64 | 20 74 69 6d 65 20 69 73 |t so mod| time is|
|000048f0| 20 61 73 20 6e 65 61 72 | 20 66 69 6e 64 20 74 69 | as near| find ti|
|00004900| 6d 65 20 61 73 20 70 6f | 73 73 69 62 6c 65 2e 0a |me as po|ssible..|
|00004910| 58 74 6f 6c 6f 67 20 65 | 63 68 6f 20 2d 6e 20 22 |Xtolog e|cho -n "|
|00004920| 50 72 65 6c 69 6d 69 6e | 61 72 79 20 41 63 63 6f |Prelimin|ary Acco|
|00004930| 75 6e 74 69 6e 67 20 53 | 74 61 67 65 2e 2e 2e 09 |unting S|tage....|
|00004940| 09 09 09 22 0a 58 74 6f | 6c 6f 67 20 64 61 74 65 |...".Xto|log date|
|00004950| 20 2b 22 25 54 20 25 44 | 22 0a 58 73 65 74 20 73 | +"%T %D|".Xset s|
|00004960| 65 71 49 44 3d 30 0a 58 | 73 65 74 20 63 61 70 55 |eqID=0.X|set capU|
|00004970| 73 65 64 3d 30 0a 58 69 | 66 20 28 24 6d 6f 64 65 |sed=0.Xi|f ($mode|
|00004980| 20 3d 3d 20 22 66 75 6c | 6c 22 29 20 74 68 65 6e | == "ful|l") then|
|00004990| 0a 58 20 20 69 66 20 28 | 2d 65 20 24 72 65 67 69 |.X if (|-e $regi|
|000049a0| 73 74 72 79 29 20 6d 76 | 20 2d 66 20 24 72 65 67 |stry) mv| -f $reg|
|000049b0| 69 73 74 72 79 20 24 70 | 72 69 6f 72 52 65 67 69 |istry $p|riorRegi|
|000049c0| 73 74 72 79 0a 58 20 20 | 69 66 20 28 2d 65 20 24 |stry.X |if (-e $|
|000049d0| 73 65 71 53 74 61 74 73 | 46 69 6c 65 29 20 6d 76 |seqStats|File) mv|
|000049e0| 20 2d 66 20 24 73 65 71 | 53 74 61 74 73 46 69 6c | -f $seq|StatsFil|
|000049f0| 65 20 24 70 72 69 6f 72 | 53 74 61 74 73 46 69 6c |e $prior|StatsFil|
|00004a00| 65 0a 58 20 20 74 6f 75 | 63 68 20 24 72 65 67 69 |e.X tou|ch $regi|
|00004a10| 73 74 72 79 0a 58 20 20 | 74 6f 75 63 68 20 24 73 |stry.X |touch $s|
|00004a20| 65 71 53 74 61 74 73 46 | 69 6c 65 0a 58 65 6c 73 |eqStatsF|ile.Xels|
|00004a30| 65 0a 58 20 20 69 66 20 | 28 2d 65 20 24 70 72 69 |e.X if |(-e $pri|
|00004a40| 6f 72 53 74 61 74 73 46 | 69 6c 65 20 7c 7c 20 2d |orStatsF|ile || -|
|00004a50| 65 20 24 70 72 69 6f 72 | 52 65 67 69 73 74 72 79 |e $prior|Registry|
|00004a60| 29 20 74 68 65 6e 0a 58 | 20 20 20 20 72 6d 20 2d |) then.X| rm -|
|00004a70| 66 20 24 70 72 69 6f 72 | 53 74 61 74 73 46 69 6c |f $prior|StatsFil|
|00004a80| 65 0a 58 20 20 20 20 72 | 6d 20 2d 66 20 24 70 72 |e.X r|m -f $pr|
|00004a90| 69 6f 72 52 65 67 69 73 | 74 72 79 0a 58 20 20 65 |iorRegis|try.X e|
|00004aa0| 6e 64 69 66 0a 58 20 20 | 23 20 47 65 74 20 70 72 |ndif.X |# Get pr|
|00004ab0| 69 6f 72 20 63 61 70 61 | 63 69 74 79 0a 58 20 20 |ior capa|city.X |
|00004ac0| 69 66 20 28 21 20 2d 7a | 20 24 73 65 71 53 74 61 |if (! -z| $seqSta|
|00004ad0| 74 73 46 69 6c 65 29 20 | 74 68 65 6e 0a 58 20 20 |tsFile) |then.X |
|00004ae0| 20 20 73 65 74 20 63 61 | 70 55 73 65 64 3d 60 74 | set ca|pUsed=`t|
|00004af0| 61 69 6c 20 2d 31 20 24 | 73 65 71 53 74 61 74 73 |ail -1 $|seqStats|
|00004b00| 46 69 6c 65 20 7c 20 61 | 77 6b 20 27 7b 70 72 69 |File | a|wk '{pri|
|00004b10| 6e 74 20 24 32 7d 27 60 | 0a 58 20 20 65 6e 64 69 |nt $2}'`|.X endi|
|00004b20| 66 0a 58 20 20 69 66 20 | 28 2d 65 20 24 73 65 71 |f.X if |(-e $seq|
|00004b30| 49 44 46 69 6c 65 20 26 | 26 20 21 20 2d 7a 20 24 |IDFile &|& ! -z $|
|00004b40| 73 65 71 49 44 46 69 6c | 65 29 20 74 68 65 6e 0a |seqIDFil|e) then.|
|00004b50| 58 20 20 20 20 73 65 74 | 20 73 65 71 49 44 3d 60 |X set| seqID=`|
|00004b60| 63 61 74 20 24 73 65 71 | 49 44 46 69 6c 65 60 0a |cat $seq|IDFile`.|
|00004b70| 58 20 20 20 20 40 20 73 | 65 71 49 44 20 2b 3d 20 |X @ s|eqID += |
|00004b80| 31 0a 58 20 20 65 6c 73 | 65 0a 58 20 20 20 20 73 |1.X els|e.X s|
|00004b90| 65 74 20 73 65 71 49 44 | 3d 30 0a 58 20 20 65 6e |et seqID|=0.X en|
|00004ba0| 64 69 66 0a 58 65 6e 64 | 69 66 0a 58 67 75 61 72 |dif.Xend|if.Xguar|
|00004bb0| 64 20 63 6c 65 61 6e 75 | 70 53 65 71 49 44 0a 58 |d cleanu|pSeqID.X|
|00004bc0| 74 6f 6c 6f 67 20 65 63 | 68 6f 20 22 20 20 43 75 |tolog ec|ho " Cu|
|00004bd0| 72 72 65 6e 74 20 73 65 | 71 20 69 64 3a 20 24 73 |rrent se|q id: $s|
|00004be0| 65 71 49 44 22 0a 58 65 | 63 68 6f 20 24 73 65 71 |eqID".Xe|cho $seq|
|00004bf0| 49 44 20 3e 21 20 24 6e | 65 77 53 65 71 49 44 46 |ID >! $n|ewSeqIDF|
|00004c00| 69 6c 65 0a 58 23 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |ile.X#^^|^^^^^^^^|
|00004c10| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 20 45 73 |^^^^^^^^|^^^^^ Es|
|00004c20| 74 61 62 6c 69 73 68 65 | 64 20 73 65 71 75 65 6e |tablishe|d sequen|
|00004c30| 63 65 20 69 6e 66 6f 20 | 5e 5e 5e 5e 5e 5e 5e 5e |ce info |^^^^^^^^|
|00004c40| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00004c50| 5e 5e 5e 5e 0a 58 0a 58 | 0a 58 0a 58 23 76 76 76 |^^^^.X.X|.X.X#vvv|
|00004c60| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|00004c70| 76 76 76 76 76 76 76 76 | 76 76 76 20 47 65 74 20 |vvvvvvvv|vvv Get |
|00004c80| 74 6f 20 72 6f 6f 74 20 | 76 76 76 76 76 76 76 76 |to root |vvvvvvvv|
|00004c90| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|00004ca0| 76 76 76 76 76 76 76 76 | 76 76 76 0a 58 63 64 20 |vvvvvvvv|vvv.Xcd |
|00004cb0| 2f 0a 58 23 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |/.X#^^^^|^^^^^^^^|
|00004cc0| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00004cd0| 5e 5e 20 47 6f 74 20 74 | 6f 20 72 6f 6f 74 20 5e |^^ Got t|o root ^|
|00004ce0| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00004cf0| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00004d00| 5e 5e 0a 58 0a 58 0a 58 | 23 76 76 76 76 76 76 76 |^^.X.X.X|#vvvvvvv|
|00004d10| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|00004d20| 76 76 76 76 76 20 50 6f | 73 69 74 69 6f 6e 20 74 |vvvvv Po|sition t|
|00004d30| 61 70 65 20 76 76 76 76 | 76 76 76 76 76 76 76 76 |ape vvvv|vvvvvvvv|
|00004d40| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|00004d50| 76 76 76 76 76 76 76 0a | 58 74 6f 6c 6f 67 20 65 |vvvvvvv.|Xtolog e|
|00004d60| 63 68 6f 20 2d 6e 20 22 | 54 61 70 65 20 50 6f 73 |cho -n "|Tape Pos|
|00004d70| 69 74 69 6f 6e 69 6e 67 | 20 53 74 61 67 65 2e 2e |itioning| Stage..|
|00004d80| 2e 09 09 09 09 22 0a 58 | 74 6f 6c 6f 67 20 64 61 |.....".X|tolog da|
|00004d90| 74 65 20 2b 22 25 54 20 | 25 44 22 0a 58 69 66 20 |te +"%T |%D".Xif |
|00004da0| 28 24 3f 64 65 62 75 67 | 20 21 3d 20 31 29 20 74 |($?debug| != 1) t|
|00004db0| 68 65 6e 0a 58 0a 58 73 | 65 74 20 72 65 73 75 6c |hen.X.Xs|et resul|
|00004dc0| 74 3d 60 6d 74 20 2d 66 | 20 24 72 65 61 6c 44 65 |t=`mt -f| $realDe|
|00004dd0| 76 20 72 65 77 60 0a 58 | 73 65 74 20 65 78 69 74 |v rew`.X|set exit|
|00004de0| 56 61 6c 3d 24 73 74 61 | 74 75 73 0a 58 69 66 20 |Val=$sta|tus.Xif |
|00004df0| 28 24 65 78 69 74 56 61 | 6c 20 21 3d 20 30 29 20 |($exitVa|l != 0) |
|00004e00| 74 68 65 6e 0a 58 20 20 | 74 6f 6c 6f 67 20 65 63 |then.X |tolog ec|
|00004e10| 68 6f 20 24 7b 73 63 4e | 6d 7d 20 45 72 72 6f 72 |ho ${scN|m} Error|
|00004e20| 3a 20 77 68 69 6c 65 20 | 72 65 77 69 6e 64 69 6e |: while |rewindin|
|00004e30| 67 20 74 61 70 65 20 24 | 72 65 61 6c 44 65 76 20 |g tape $|realDev |
|00004e40| 2d 0a 58 20 20 74 6f 6c | 6f 67 20 65 63 68 6f 20 |-.X tol|og echo |
|00004e50| 22 20 20 6d 74 20 28 72 | 65 77 29 3a 20 24 72 65 |" mt (r|ew): $re|
|00004e60| 73 75 6c 74 20 28 65 78 | 69 74 20 76 61 6c 75 65 |sult (ex|it value|
|00004e70| 20 24 65 78 69 74 56 61 | 6c 29 22 0a 58 20 20 74 | $exitVa|l)".X t|
|00004e80| 6f 6c 6f 67 20 65 63 68 | 6f 20 22 20 20 41 62 6f |olog ech|o " Abo|
|00004e90| 72 74 69 6e 67 2e 2e 2e | 22 0a 58 20 20 67 75 61 |rting...|".X gua|
|00004ea0| 72 64 65 64 45 78 69 74 | 20 24 65 78 69 74 56 61 |rdedExit| $exitVa|
|00004eb0| 6c 0a 58 65 6c 73 65 0a | 58 20 20 73 65 74 20 72 |l.Xelse.|X set r|
|00004ec0| 65 73 75 6c 74 3d 60 6d | 74 20 2d 66 20 24 72 65 |esult=`m|t -f $re|
|00004ed0| 61 6c 44 65 76 20 66 73 | 66 20 24 73 65 71 49 44 |alDev fs|f $seqID|
|00004ee0| 60 0a 58 20 20 73 65 74 | 20 65 78 69 74 56 61 6c |`.X set| exitVal|
|00004ef0| 3d 24 73 74 61 74 75 73 | 0a 58 20 20 69 66 20 28 |=$status|.X if (|
|00004f00| 24 65 78 69 74 56 61 6c | 20 21 3d 20 30 29 20 74 |$exitVal| != 0) t|
|00004f10| 68 65 6e 0a 58 20 20 20 | 20 74 6f 6c 6f 67 20 65 |hen.X | tolog e|
|00004f20| 63 68 6f 20 24 7b 73 63 | 4e 6d 7d 20 45 72 72 6f |cho ${sc|Nm} Erro|
|00004f30| 72 3a 20 77 68 69 6c 65 | 20 70 6f 73 69 74 69 6f |r: while| positio|
|00004f40| 6e 69 6e 67 20 74 61 70 | 65 20 24 72 65 61 6c 44 |ning tap|e $realD|
|00004f50| 65 76 20 2d 0a 58 20 20 | 20 20 74 6f 6c 6f 67 20 |ev -.X | tolog |
|00004f60| 65 63 68 6f 20 22 20 20 | 6d 74 20 28 66 73 66 20 |echo " |mt (fsf |
|00004f70| 24 73 65 71 49 44 29 3a | 20 24 72 65 73 75 6c 74 |$seqID):| $result|
|00004f80| 20 28 65 78 69 74 20 76 | 61 6c 75 65 20 24 65 78 | (exit v|alue $ex|
|00004f90| 69 74 56 61 6c 29 22 0a | 58 20 20 20 20 74 6f 6c |itVal)".|X tol|
|00004fa0| 6f 67 20 65 63 68 6f 20 | 22 20 20 41 62 6f 72 74 |og echo |" Abort|
|00004fb0| 69 6e 67 2e 2e 2e 22 0a | 58 20 20 20 20 67 75 61 |ing...".|X gua|
|00004fc0| 72 64 65 64 45 78 69 74 | 20 24 65 78 69 74 56 61 |rdedExit| $exitVa|
|00004fd0| 6c 0a 58 20 20 65 6e 64 | 69 66 0a 58 65 6e 64 69 |l.X end|if.Xendi|
|00004fe0| 66 0a 58 0a 58 65 6c 73 | 65 0a 58 20 20 74 6f 6c |f.X.Xels|e.X tol|
|00004ff0| 6f 67 20 65 63 68 6f 20 | 22 20 20 54 61 70 65 20 |og echo |" Tape |
|00005000| 70 6f 73 69 74 69 6f 6e | 69 6e 67 20 77 6f 75 6c |position|ing woul|
|00005010| 64 20 62 65 20 64 6f 6e | 65 20 6e 6f 77 20 69 66 |d be don|e now if|
|00005020| 20 64 65 62 75 67 20 77 | 65 72 65 6e 27 74 20 73 | debug w|eren't s|
|00005030| 65 74 2e 22 0a 58 65 6e | 64 69 66 0a 58 23 5e 5e |et.".Xen|dif.X#^^|
|00005040| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00005050| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 20 54 61 70 65 20 |^^^^^^^^|^^ Tape |
|00005060| 70 6f 73 69 74 69 6f 6e | 65 64 20 5e 5e 5e 5e 5e |position|ed ^^^^^|
|00005070| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00005080| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 0a 58 0a 58 |^^^^^^^^|^^^^.X.X|
|00005090| 0a 58 0a 58 0a 58 23 76 | 76 76 76 76 76 76 76 76 |.X.X.X#v|vvvvvvvv|
|000050a0| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|000050b0| 76 76 76 76 76 20 43 6f | 6d 70 75 74 65 20 72 6f |vvvvv Co|mpute ro|
|000050c0| 73 74 65 72 73 20 76 76 | 76 76 76 76 76 76 76 76 |sters vv|vvvvvvvv|
|000050d0| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|000050e0| 76 76 76 76 76 0a 58 23 | 20 4e 4f 54 45 20 52 6f |vvvvv.X#| NOTE Ro|
|000050f0| 73 74 65 72 20 61 6e 64 | 20 65 78 74 65 6e 74 20 |ster and| extent |
|00005100| 6f 66 20 63 68 61 6e 67 | 65 64 20 66 69 6c 65 73 |of chang|ed files|
|00005110| 20 69 73 20 61 6c 77 61 | 79 73 20 63 6f 6d 70 75 | is alwa|ys compu|
|00005120| 74 65 64 3b 20 74 68 61 | 74 20 6f 66 20 65 6e 74 |ted; tha|t of ent|
|00005130| 69 72 65 0a 58 23 20 73 | 75 62 6a 65 63 74 20 68 |ire.X# s|ubject h|
|00005140| 69 65 72 61 72 63 68 79 | 20 69 73 20 63 6f 6d 70 |ierarchy| is comp|
|00005150| 75 74 65 64 20 6f 6e 6c | 79 20 66 6f 72 20 66 75 |uted onl|y for fu|
|00005160| 6c 6c 20 62 61 63 6b 75 | 70 2c 20 61 6e 64 20 74 |ll backu|p, and t|
|00005170| 68 65 6e 20 74 68 61 74 | 20 65 78 74 65 6e 74 0a |hen that| extent.|
|00005180| 58 23 20 69 73 20 74 68 | 65 20 6f 6e 65 20 77 65 |X# is th|e one we|
|00005190| 27 72 65 20 63 6f 6e 63 | 65 72 6e 65 64 20 77 69 |'re conc|erned wi|
|000051a0| 74 68 20 28 74 68 6f 75 | 67 68 20 74 68 65 20 72 |th (thou|gh the r|
|000051b0| 6f 73 74 65 72 20 6f 66 | 20 63 68 61 6e 67 65 64 |oster of| changed|
|000051c0| 20 66 69 6c 65 73 20 69 | 73 20 74 68 65 0a 58 23 | files i|s the.X#|
|000051d0| 20 6f 6e 65 20 74 68 61 | 74 27 73 20 72 65 67 69 | one tha|t's regi|
|000051e0| 73 74 65 72 65 64 2c 20 | 70 72 6f 76 69 64 69 6e |stered, |providin|
|000051f0| 67 20 74 68 65 20 73 65 | 65 64 20 66 6f 72 20 61 |g the se|ed for a|
|00005200| 20 72 65 67 69 73 74 72 | 79 20 6f 66 20 66 69 6c | registr|y of fil|
|00005210| 65 2d 6d 6f 64 20 64 61 | 74 65 73 29 2e 0a 58 0a |e-mod da|tes)..X.|
|00005220| 58 74 6f 6c 6f 67 20 65 | 63 68 6f 20 2d 6e 20 22 |Xtolog e|cho -n "|
|00005230| 43 61 6e 64 69 64 61 74 | 65 2d 43 6f 6d 70 75 74 |Candidat|e-Comput|
|00005240| 61 74 69 6f 6e 20 53 74 | 61 67 65 2e 2e 2e 09 09 |ation St|age.....|
|00005250| 09 09 22 0a 58 74 6f 6c | 6f 67 20 64 61 74 65 20 |..".Xtol|og date |
|00005260| 2b 22 25 54 20 25 44 22 | 0a 58 0a 58 23 20 69 6e |+"%T %D"|.X.X# in|
|00005270| 63 72 43 6c 61 75 73 65 | 20 77 69 6c 6c 20 6d 61 |crClause| will ma|
|00005280| 6b 65 20 70 72 65 73 65 | 72 76 65 73 20 72 65 73 |ke prese|rves res|
|00005290| 70 65 63 74 20 74 68 65 | 20 6d 6f 64 2d 74 69 6d |pect the| mod-tim|
|000052a0| 65 20 6f 66 20 73 65 71 | 49 44 46 69 6c 65 20 75 |e of seq|IDFile u|
|000052b0| 6e 6c 65 73 73 0a 58 23 | 20 73 65 71 49 44 46 69 |nless.X#| seqIDFi|
|000052c0| 6c 65 20 64 6f 65 73 6e | 27 74 20 65 78 69 73 74 |le doesn|'t exist|
|000052d0| 20 69 6e 20 77 68 69 63 | 68 20 63 61 73 65 20 6e | in whic|h case n|
|000052e0| 6f 20 6d 6f 64 2d 74 69 | 6d 65 20 72 65 73 70 65 |o mod-ti|me respe|
|000052f0| 63 74 69 76 65 20 70 72 | 75 6e 69 6e 67 20 69 73 |ctive pr|uning is|
|00005300| 20 64 6f 6e 65 3a 0a 58 | 69 66 20 28 2d 65 20 24 | done:.X|if (-e $|
|00005310| 73 65 71 49 44 46 69 6c | 65 29 20 74 68 65 6e 0a |seqIDFil|e) then.|
|00005320| 58 20 20 73 65 74 20 69 | 6e 63 72 43 6c 61 75 73 |X set i|ncrClaus|
|00005330| 65 3d 22 2d 6e 65 77 65 | 72 20 24 73 65 71 49 44 |e="-newe|r $seqID|
|00005340| 46 69 6c 65 20 22 0a 58 | 65 6e 64 69 66 0a 58 0a |File ".X|endif.X.|
|00005350| 58 23 20 44 65 74 65 72 | 6d 69 6e 65 20 70 72 75 |X# Deter|mine pru|
|00005360| 6e 65 43 6c 61 75 73 65 | 20 66 72 6f 6d 20 65 78 |neClause| from ex|
|00005370| 63 6c 75 64 65 44 69 72 | 73 3a 0a 58 66 6f 72 65 |cludeDir|s:.Xfore|
|00005380| 61 63 68 20 64 69 72 20 | 28 20 24 65 78 63 6c 75 |ach dir |( $exclu|
|00005390| 64 65 44 69 72 73 20 29 | 0a 58 20 20 69 66 20 28 |deDirs )|.X if (|
|000053a0| 22 24 70 72 75 6e 65 43 | 6c 61 75 73 65 22 20 3d |"$pruneC|lause" =|
|000053b0| 3d 20 22 22 29 20 74 68 | 65 6e 0a 58 20 20 20 20 |= "") th|en.X |
|000053c0| 73 65 74 20 70 72 75 6e | 65 43 6c 61 75 73 65 3d |set prun|eClause=|
|000053d0| 22 2d 6e 61 6d 65 20 24 | 64 69 72 22 0a 58 20 20 |"-name $|dir".X |
|000053e0| 65 6c 73 65 0a 58 20 20 | 20 20 73 65 74 20 70 72 |else.X | set pr|
|000053f0| 75 6e 65 43 6c 61 75 73 | 65 3d 22 24 70 72 75 6e |uneClaus|e="$prun|
|00005400| 65 43 6c 61 75 73 65 20 | 2d 6f 20 2d 6e 61 6d 65 |eClause |-o -name|
|00005410| 20 24 64 69 72 22 0a 58 | 20 20 65 6e 64 69 66 0a | $dir".X| endif.|
|00005420| 58 65 6e 64 0a 58 69 66 | 20 28 22 24 70 72 75 6e |Xend.Xif| ("$prun|
|00005430| 65 43 6c 61 75 73 65 22 | 20 21 3d 20 22 22 29 20 |eClause"| != "") |
|00005440| 74 68 65 6e 0a 58 20 20 | 73 65 74 20 70 72 75 6e |then.X |set prun|
|00005450| 65 43 6c 61 75 73 65 3d | 22 28 20 24 70 72 75 6e |eClause=|"( $prun|
|00005460| 65 43 6c 61 75 73 65 20 | 29 20 2d 70 72 75 6e 65 |eClause |) -prune|
|00005470| 22 0a 58 65 6e 64 69 66 | 0a 58 0a 58 23 20 61 77 |".Xendif|.X.X# aw|
|00005480| 6b 46 69 6c 74 65 72 20 | 77 69 6c 6c 20 74 61 6b |kFilter |will tak|
|00005490| 65 20 74 68 65 20 66 69 | 6e 64 20 27 2d 6c 73 27 |e the fi|nd '-ls'|
|000054a0| 20 66 6f 72 6d 61 74 20 | 61 6e 64 20 70 72 69 6e | format |and prin|
|000054b0| 74 20 74 68 65 20 66 69 | 6c 65 6e 61 6d 65 73 20 |t the fi|lenames |
|000054c0| 69 6e 74 6f 0a 58 23 09 | 20 20 20 20 74 68 65 20 |into.X#.| the |
|000054d0| 66 69 6c 65 6e 61 6d 65 | 20 61 72 67 75 6d 65 6e |filename| argumen|
|000054e0| 74 2c 20 72 65 74 75 72 | 6e 69 6e 67 20 74 68 65 |t, retur|ning the|
|000054f0| 20 74 6f 74 61 6c 20 76 | 6f 6c 75 6d 65 20 6f 66 | total v|olume of|
|00005500| 20 74 68 65 20 66 69 6c | 65 73 2e 0a 58 61 6c 69 | the fil|es..Xali|
|00005510| 61 73 20 61 77 6b 46 69 | 6c 74 65 72 20 61 77 6b |as awkFi|lter awk|
|00005520| 20 2d 66 20 24 61 77 6b | 46 69 6c 74 65 72 53 63 | -f $awk|FilterSc|
|00005530| 72 69 70 74 20 61 72 67 | 46 69 6c 65 3d 27 5c 21 |ript arg|File='\!|
|00005540| 2a 27 20 2d 0a 58 0a 58 | 69 66 20 28 22 24 65 78 |*' -.X.X|if ("$ex|
|00005550| 63 6c 75 64 65 50 61 74 | 68 73 22 20 21 3d 20 22 |cludePat|hs" != "|
|00005560| 22 29 20 74 68 65 6e 0a | 58 20 20 61 6c 69 61 73 |") then.|X alias|
|00005570| 20 63 61 6e 64 69 64 61 | 74 65 46 69 6c 74 65 72 | candida|teFilter|
|00005580| 20 22 65 78 63 6c 75 64 | 65 50 61 74 68 73 46 69 | "exclud|ePathsFi|
|00005590| 6c 74 65 72 20 7c 20 61 | 77 6b 46 69 6c 74 65 72 |lter | a|wkFilter|
|000055a0| 22 0a 58 65 6c 73 65 0a | 58 20 20 61 6c 69 61 73 |".Xelse.|X alias|
|000055b0| 20 63 61 6e 64 69 64 61 | 74 65 46 69 6c 74 65 72 | candida|teFilter|
|000055c0| 20 22 61 77 6b 46 69 6c | 74 65 72 22 0a 58 65 6e | "awkFil|ter".Xen|
|000055d0| 64 69 66 0a 58 72 6d 20 | 2d 66 20 24 70 65 6e 64 |dif.Xrm |-f $pend|
|000055e0| 73 0a 58 73 65 74 20 69 | 6e 63 72 50 72 75 6e 65 |s.Xset i|ncrPrune|
|000055f0| 43 6c 61 75 73 65 3d 22 | 22 0a 58 69 66 20 28 22 |Clause="|".Xif ("|
|00005600| 24 70 72 75 6e 65 43 6c | 61 75 73 65 22 20 21 3d |$pruneCl|ause" !=|
|00005610| 20 22 22 29 20 74 68 65 | 6e 0a 58 20 20 73 65 74 | "") the|n.X set|
|00005620| 20 69 6e 63 72 50 72 75 | 6e 65 43 6c 61 75 73 65 | incrPru|neClause|
|00005630| 3d 22 2d 61 20 24 70 72 | 75 6e 65 43 6c 61 75 73 |="-a $pr|uneClaus|
|00005640| 65 20 2d 6f 20 24 70 72 | 75 6e 65 43 6c 61 75 73 |e -o $pr|uneClaus|
|00005650| 65 22 0a 58 65 6e 64 69 | 66 0a 58 73 65 74 20 63 |e".Xendi|f.Xset c|
|00005660| 61 70 50 65 6e 64 69 6e | 67 3d 60 66 69 6e 64 20 |apPendin|g=`find |
|00005670| 24 73 75 62 6a 50 61 74 | 68 73 20 24 69 6e 63 72 |$subjPat|hs $incr|
|00005680| 43 6c 61 75 73 65 20 2d | 6c 73 20 24 69 6e 63 72 |Clause -|ls $incr|
|00005690| 50 72 75 6e 65 43 6c 61 | 75 73 65 20 7c 20 63 61 |PruneCla|use | ca|
|000056a0| 6e 64 69 64 61 74 65 46 | 69 6c 74 65 72 20 24 70 |ndidateF|ilter $p|
|000056b0| 65 6e 64 73 60 0a 58 0a | 58 69 66 20 28 24 6d 6f |ends`.X.|Xif ($mo|
|000056c0| 64 65 20 3d 3d 20 22 66 | 75 6c 6c 22 29 20 74 68 |de == "f|ull") th|
|000056d0| 65 6e 0a 58 20 20 72 6d | 20 2d 66 20 24 66 75 6c |en.X rm| -f $ful|
|000056e0| 6c 50 65 6e 64 73 0a 58 | 20 20 73 65 74 20 63 61 |lPends.X| set ca|
|000056f0| 70 50 65 6e 64 69 6e 67 | 3d 60 66 69 6e 64 20 24 |pPending|=`find $|
|00005700| 73 75 62 6a 50 61 74 68 | 73 20 2d 6c 73 20 24 70 |subjPath|s -ls $p|
|00005710| 72 75 6e 65 43 6c 61 75 | 73 65 20 7c 63 61 6e 64 |runeClau|se |cand|
|00005720| 69 64 61 74 65 46 69 6c | 74 65 72 20 24 66 75 6c |idateFil|ter $ful|
|00005730| 6c 50 65 6e 64 73 60 0a | 58 65 6e 64 69 66 0a 58 |lPends`.|Xendif.X|
|00005740| 23 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |#^^^^^^^|^^^^^^^^|
|00005750| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 20 |^^^^^^^^|^^^^^^^ |
|00005760| 43 6f 6d 70 75 74 65 64 | 20 72 6f 73 74 65 72 73 |Computed| rosters|
|00005770| 20 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e | ^^^^^^^|^^^^^^^^|
|00005780| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 0a |^^^^^^^^|^^^^^^^.|
|00005790| 58 0a 58 0a 58 0a 58 0a | 58 23 76 76 76 76 76 76 |X.X.X.X.|X#vvvvvv|
|000057a0| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 20 56 |vvvvvvvv|vvvvvv V|
|000057b0| 65 72 69 66 79 20 73 75 | 66 66 69 63 69 65 6e 74 |erify su|fficient|
|000057c0| 20 63 61 70 61 63 69 74 | 79 20 61 76 61 69 6c 61 | capacit|y availa|
|000057d0| 62 6c 65 20 76 76 76 76 | 76 76 76 76 76 76 76 76 |ble vvvv|vvvvvvvv|
|000057e0| 76 76 76 76 76 76 76 76 | 0a 58 74 6f 6c 6f 67 20 |vvvvvvvv|.Xtolog |
|000057f0| 65 63 68 6f 20 2d 6e 20 | 22 20 20 43 61 70 61 63 |echo -n |" Capac|
|00005800| 69 74 79 20 70 65 6e 64 | 69 6e 67 20 74 68 69 73 |ity pend|ing this|
|00005810| 20 64 75 6d 70 3a 20 24 | 63 61 70 50 65 6e 64 69 | dump: $|capPendi|
|00005820| 6e 67 20 62 79 74 65 73 | 22 0a 58 73 65 74 20 74 |ng bytes|".Xset t|
|00005830| 6f 74 61 6c 50 65 6e 64 | 69 6e 67 3d 24 63 61 70 |otalPend|ing=$cap|
|00005840| 55 73 65 64 0a 58 0a 58 | 69 66 20 28 60 65 63 68 |Used.X.X|if (`ech|
|00005850| 6f 20 22 69 66 20 28 24 | 74 6f 74 61 6c 43 61 70 |o "if ($|totalCap|
|00005860| 20 3c 20 24 63 61 70 55 | 73 65 64 20 2b 20 24 63 | < $capU|sed + $c|
|00005870| 61 70 50 65 6e 64 69 6e | 67 29 20 31 22 20 7c 20 |apPendin|g) 1" | |
|00005880| 62 63 60 20 3d 3d 20 22 | 31 22 29 20 74 68 65 6e |bc` == "|1") then|
|00005890| 0a 58 20 20 74 6f 6c 6f | 67 20 65 63 68 6f 20 22 |.X tolo|g echo "|
|000058a0| 20 22 0a 58 20 20 69 66 | 20 28 22 24 6d 6f 64 65 | ".X if| ("$mode|
|000058b0| 22 20 3d 3d 20 22 66 75 | 6c 6c 22 29 20 74 68 65 |" == "fu|ll") the|
|000058c0| 6e 0a 58 20 20 20 20 74 | 6f 6c 6f 67 20 65 63 68 |n.X t|olog ech|
|000058d0| 6f 20 24 7b 73 63 4e 6d | 7d 20 43 41 50 41 43 49 |o ${scNm|} CAPACI|
|000058e0| 54 59 20 4f 56 45 52 46 | 4c 4f 57 3a 20 4d 61 6a |TY OVERF|LOW: Maj|
|000058f0| 6f 72 20 70 72 6f 62 6c | 65 6d 0a 58 20 20 20 20 |or probl|em.X |
|00005900| 74 6f 6c 6f 67 20 65 63 | 68 6f 20 22 20 66 75 6c |tolog ec|ho " ful|
|00005910| 6c 20 64 75 6d 70 20 65 | 78 74 65 6e 74 20 28 24 |l dump e|xtent ($|
|00005920| 63 61 70 50 65 6e 64 69 | 6e 67 29 20 67 72 65 61 |capPendi|ng) grea|
|00005930| 74 65 72 20 74 68 61 6e | 20 64 65 73 69 67 6e 61 |ter than| designa|
|00005940| 74 65 64 20 24 74 6f 44 | 65 76 22 0a 58 20 20 20 |ted $toD|ev".X |
|00005950| 20 74 6f 6c 6f 67 20 65 | 63 68 6f 20 22 20 63 61 | tolog e|cho " ca|
|00005960| 70 61 63 69 74 79 20 28 | 24 74 6f 74 61 6c 43 61 |pacity (|$totalCa|
|00005970| 70 29 2e 20 20 44 69 73 | 74 72 69 62 75 74 65 20 |p). Dis|tribute |
|00005980| 66 73 20 61 63 72 6f 73 | 73 20 6d 75 6c 74 69 70 |fs acros|s multip|
|00005990| 6c 65 20 62 61 63 6b 75 | 70 73 2e 22 0a 58 20 20 |le backu|ps.".X |
|000059a0| 20 20 67 75 61 72 64 65 | 64 45 78 69 74 20 31 0a | guarde|dExit 1.|
|000059b0| 58 20 20 65 6c 73 65 0a | 58 20 20 20 20 74 6f 6c |X else.|X tol|
|000059c0| 6f 67 20 65 63 68 6f 20 | 24 7b 73 63 4e 6d 7d 20 |og echo |${scNm} |
|000059d0| 43 41 50 41 43 49 54 59 | 20 4f 56 45 52 46 4c 4f |CAPACITY| OVERFLO|
|000059e0| 57 3a 20 52 65 6d 61 69 | 6e 69 6e 67 20 74 61 70 |W: Remai|ning tap|
|000059f0| 65 20 63 61 70 61 63 69 | 74 79 20 69 6e 73 75 66 |e capaci|ty insuf|
|00005a00| 66 69 63 69 65 6e 74 0a | 58 20 20 20 20 74 6f 6c |ficient.|X tol|
|00005a10| 6f 67 20 65 63 68 6f 20 | 2d 6e 20 22 20 66 6f 72 |og echo |-n " for|
|00005a20| 20 64 75 6d 70 20 2d 20 | 74 6f 74 61 6c 20 61 76 | dump - |total av|
|00005a30| 61 69 6c 3a 20 24 74 6f | 74 61 6c 43 61 70 2c 20 |ail: $to|talCap, |
|00005a40| 70 72 69 6f 72 20 75 73 | 65 64 3a 20 24 63 61 70 |prior us|ed: $cap|
|00005a50| 55 73 65 64 2c 20 22 0a | 58 20 20 20 20 74 6f 6c |Used, ".|X tol|
|00005a60| 6f 67 20 65 63 68 6f 20 | 22 6e 6f 77 20 70 65 6e |og echo |"now pen|
|00005a70| 64 69 6e 67 3a 20 24 63 | 61 70 50 65 6e 64 69 6e |ding: $c|apPendin|
|00005a80| 67 2e 20 20 54 69 6d 65 | 20 74 6f 20 62 65 67 69 |g. Time| to begi|
|00005a90| 6e 20 6e 65 77 20 74 61 | 70 65 2e 22 0a 58 20 20 |n new ta|pe.".X |
|00005aa0| 20 20 67 75 61 72 64 65 | 64 45 78 69 74 20 31 09 | guarde|dExit 1.|
|00005ab0| 09 09 09 09 09 09 23 20 | 3d 3d 3d 3d 56 0a 58 20 |......# |====V.X |
|00005ac0| 20 65 6e 64 69 66 0a 58 | 65 6c 73 65 0a 58 20 20 | endif.X|else.X |
|00005ad0| 73 65 74 20 63 61 70 55 | 73 65 64 3d 60 65 63 68 |set capU|sed=`ech|
|00005ae0| 6f 20 24 63 61 70 55 73 | 65 64 20 2b 20 24 63 61 |o $capUs|ed + $ca|
|00005af0| 70 50 65 6e 64 69 6e 67 | 20 7c 20 62 63 60 0a 58 |pPending| | bc`.X|
|00005b00| 20 20 69 66 20 28 22 24 | 6d 6f 64 65 22 20 3d 3d | if ("$|mode" ==|
|00005b10| 20 22 69 6e 63 72 22 29 | 20 74 68 65 6e 0a 58 20 | "incr")| then.X |
|00005b20| 20 20 20 74 6f 6c 6f 67 | 20 65 63 68 6f 20 2c 20 | tolog| echo , |
|00005b30| 62 72 69 6e 67 73 20 74 | 6f 74 61 6c 20 6f 6e 20 |brings t|otal on |
|00005b40| 74 61 70 65 20 74 6f 3a | 20 24 63 61 70 55 73 65 |tape to:| $capUse|
|00005b50| 64 0a 58 20 20 65 6c 73 | 65 0a 58 20 20 20 20 74 |d.X els|e.X t|
|00005b60| 6f 6c 6f 67 20 65 63 68 | 6f 20 22 20 22 0a 58 20 |olog ech|o " ".X |
|00005b70| 20 65 6e 64 69 66 0a 58 | 65 6e 64 69 66 0a 58 23 | endif.X|endif.X#|
|00005b80| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00005b90| 5e 5e 5e 5e 20 56 65 72 | 69 66 79 20 73 75 66 66 |^^^^ Ver|ify suff|
|00005ba0| 69 63 69 65 6e 74 20 63 | 61 70 61 63 69 74 79 20 |icient c|apacity |
|00005bb0| 61 76 61 69 6c 61 62 6c | 65 20 5e 5e 5e 5e 5e 5e |availabl|e ^^^^^^|
|00005bc0| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 0a 58 |^^^^^^^^|^^^^^^.X|
|00005bd0| 0a 58 0a 58 0a 58 23 76 | 76 76 76 76 76 76 76 76 |.X.X.X#v|vvvvvvvv|
|00005be0| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|00005bf0| 76 76 20 41 72 63 68 69 | 76 65 20 66 69 6c 65 73 |vv Archi|ve files|
|00005c00| 20 74 6f 20 74 61 70 65 | 20 76 76 76 76 76 76 76 | to tape| vvvvvvv|
|00005c10| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |vvvvvvvv|vvvvvvvv|
|00005c20| 76 76 76 76 76 0a 58 74 | 6f 6c 6f 67 20 65 63 68 |vvvvv.Xt|olog ech|
|00005c30| 6f 20 2d 6e 20 22 46 69 | 6c 65 20 41 72 63 68 69 |o -n "Fi|le Archi|
|00005c40| 76 61 6c 20 53 74 61 67 | 65 2e 2e 2e 09 09 09 09 |val Stag|e.......|
|00005c50| 09 22 0a 58 74 6f 6c 6f | 67 20 64 61 74 65 20 2b |.".Xtolo|g date +|
|00005c60| 22 25 54 20 25 44 22 0a | 58 0a 58 67 75 61 72 64 |"%T %D".|X.Xguard|
|00005c70| 20 63 6c 65 61 6e 75 70 | 54 61 70 65 4f 76 65 72 | cleanup|TapeOver|
|00005c80| 66 6c 6f 77 0a 58 0a 58 | 74 6f 6c 6f 67 20 65 63 |flow.X.X|tolog ec|
|00005c90| 68 6f 20 2d 6e 20 22 20 | 20 22 0a 58 0a 58 64 6f |ho -n " | ".X.Xdo|
|00005ca0| 57 72 69 74 65 3a 0a 58 | 69 66 20 28 22 24 6d 6f |Write:.X|if ("$mo|
|00005cb0| 64 65 22 20 3d 3d 20 22 | 69 6e 63 72 22 29 20 74 |de" == "|incr") t|
|00005cc0| 68 65 6e 0a 58 20 20 74 | 6f 6c 6f 67 20 28 63 70 |hen.X t|olog (cp|
|00005cd0| 69 6f 20 2d 6f 42 20 3c | 20 24 70 65 6e 64 73 20 |io -oB <| $pends |
|00005ce0| 7c 20 38 6d 6d 6f 75 74 | 20 24 74 6f 44 65 76 29 || 8mmout| $toDev)|
|00005cf0| 0a 58 20 20 73 65 74 20 | 65 78 69 74 56 61 6c 3d |.X set |exitVal=|
|00005d00| 24 73 74 61 74 75 73 0a | 58 65 6c 73 65 0a 58 20 |$status.|Xelse.X |
|00005d10| 20 74 6f 6c 6f 67 20 28 | 63 70 69 6f 20 2d 6f 42 | tolog (|cpio -oB|
|00005d20| 20 3c 20 24 66 75 6c 6c | 50 65 6e 64 73 20 7c 20 | < $full|Pends | |
|00005d30| 38 6d 6d 6f 75 74 20 24 | 74 6f 44 65 76 29 0a 58 |8mmout $|toDev).X|
|00005d40| 20 20 73 65 74 20 65 78 | 69 74 56 61 6c 3d 24 73 | set ex|itVal=$s|
|00005d50| 74 61 74 75 73 0a 58 65 | 6e 64 69 66 0a 58 0a 58 |tatus.Xe|ndif.X.X|
|00005d60| 23 20 4e 4f 54 45 20 74 | 68 61 74 20 65 78 69 74 |# NOTE t|hat exit|
|00005d70| 56 61 6c 20 68 65 72 65 | 20 72 65 66 6c 65 63 74 |Val here| reflect|
|00005d80| 73 20 6f 6e 6c 79 20 74 | 68 65 20 64 69 73 70 6f |s only t|he dispo|
|00005d90| 73 69 74 69 6f 6e 20 6f | 66 20 74 68 65 20 27 3e |sition o|f the '>|
|00005da0| 27 0a 58 23 20 72 65 64 | 69 72 65 63 74 69 6f 6e |'.X# red|irection|
|00005db0| 20 28 77 68 69 63 68 20 | 68 61 70 70 65 6e 73 20 | (which |happens |
|00005dc0| 74 6f 20 62 65 20 77 68 | 61 74 20 77 65 27 72 65 |to be wh|at we're|
|00005dd0| 20 63 6f 6e 63 65 72 6e | 65 64 20 77 69 74 68 29 | concern|ed with)|
|00005de0| 0a 58 69 66 20 28 24 65 | 78 69 74 56 61 6c 20 21 |.Xif ($e|xitVal !|
|00005df0| 3d 20 30 29 20 74 68 65 | 6e 0a 58 20 20 69 66 20 |= 0) the|n.X if |
|00005e00| 28 21 20 24 3f 72 65 74 | 72 69 65 64 57 72 69 74 |(! $?ret|riedWrit|
|00005e10| 65 29 20 74 68 65 6e 0a | 58 20 20 20 20 23 20 54 |e) then.|X # T|
|00005e20| 68 69 73 20 6e 61 75 73 | 65 61 74 69 6e 67 20 66 |his naus|eating f|
|00005e30| 69 6e 61 67 6c 65 20 69 | 73 20 6e 65 63 65 73 73 |inagle i|s necess|
|00005e40| 61 72 79 20 74 6f 20 72 | 65 77 72 69 74 65 20 69 |ary to r|ewrite i|
|00005e50| 6e 74 65 72 6d 65 64 69 | 61 74 65 20 66 69 6c 65 |ntermedi|ate file|
|00005e60| 73 20 6f 6e 0a 58 20 20 | 20 20 23 20 45 78 61 62 |s on.X | # Exab|
|00005e70| 79 74 65 20 64 72 69 76 | 65 20 28 61 74 20 74 68 |yte driv|e (at th|
|00005e80| 65 20 6c 65 61 73 74 20 | 66 6f 72 20 50 65 72 66 |e least |for Perf|
|00005e90| 65 63 74 20 42 79 74 65 | 20 73 74 20 64 72 69 76 |ect Byte| st driv|
|00005ea0| 65 72 73 20 75 6e 64 65 | 72 20 53 75 6e 20 4f 53 |ers unde|r Sun OS|
|00005eb0| 34 29 0a 58 20 20 20 20 | 73 65 74 20 72 65 74 72 |4).X |set retr|
|00005ec0| 69 65 64 57 72 69 74 65 | 3b 20 73 65 74 20 65 78 |iedWrite|; set ex|
|00005ed0| 69 74 56 61 6c 3d 30 0a | 58 20 20 20 20 74 6f 6c |itVal=0.|X tol|
|00005ee0| 6f 67 20 65 63 68 6f 20 | 22 48 61 72 64 65 6e 69 |og echo |"Hardeni|
|00005ef0| 6e 67 20 65 6f 66 20 6d | 61 72 6b 20 61 6e 64 20 |ng eof m|ark and |
|00005f00| 72 65 74 72 79 69 6e 67 | 20 77 72 69 74 65 2e 2e |retrying| write..|
|00005f10| 2e 22 0a 58 20 20 20 20 | 74 6f 6c 6f 67 20 65 63 |.".X |tolog ec|
|00005f20| 68 6f 20 2d 6e 20 22 20 | 20 22 0a 58 20 20 20 20 |ho -n " | ".X |
|00005f30| 23 20 50 6f 73 69 74 69 | 6f 6e 20 74 6f 20 77 68 |# Positi|on to wh|
|00005f40| 65 72 65 20 61 6e 20 65 | 78 74 72 61 20 65 6f 66 |ere an e|xtra eof|
|00005f50| 20 6d 61 72 6b 20 77 69 | 6c 6c 20 73 6f 6c 76 65 | mark wi|ll solve|
|00005f60| 20 74 68 65 20 70 72 6f | 62 6c 65 6d 3a 0a 58 20 | the pro|blem:.X |
|00005f70| 20 20 20 6d 74 20 2d 66 | 20 24 72 65 61 6c 44 65 | mt -f| $realDe|
|00005f80| 76 20 72 65 77 3b 20 6d | 74 20 2d 66 20 24 72 65 |v rew; m|t -f $re|
|00005f90| 61 6c 44 65 76 20 66 73 | 66 20 24 73 65 71 49 44 |alDev fs|f $seqID|
|00005fa0| 3b 20 6d 74 20 2d 66 20 | 24 72 65 61 6c 44 65 76 |; mt -f |$realDev|
|00005fb0| 20 62 73 66 20 31 0a 58 | 20 20 20 20 23 20 2e 2e | bsf 1.X| # ..|
|00005fc0| 2e 20 61 6e 64 20 77 72 | 69 74 65 20 69 74 3a 0a |. and wr|ite it:.|
|00005fd0| 58 20 20 20 20 6d 74 20 | 2d 66 20 24 72 65 61 6c |X mt |-f $real|
|00005fe0| 44 65 76 20 65 6f 66 20 | 31 0a 58 20 20 20 20 23 |Dev eof |1.X #|
|00005ff0| 20 2e 2e 2e 20 74 68 65 | 6e 20 72 65 70 6f 73 69 | ... the|n reposi|
|00006000| 74 69 6f 6e 20 74 6f 20 | 63 6f 72 72 65 63 74 20 |tion to |correct |
|00006010| 73 70 6f 74 20 66 6f 72 | 20 77 72 69 74 69 6e 67 |spot for| writing|
|00006020| 3a 0a 58 20 20 20 20 6d | 74 20 2d 66 20 24 72 65 |:.X m|t -f $re|
|00006030| 61 6c 44 65 76 20 72 65 | 77 3b 20 6d 74 20 2d 66 |alDev re|w; mt -f|
|00006040| 20 24 72 65 61 6c 44 65 | 76 20 66 73 66 20 24 73 | $realDe|v fsf $s|
|00006050| 65 71 49 44 0a 58 20 20 | 20 20 23 20 2e 2e 2e 20 |eqID.X | # ... |
|00006060| 61 6e 64 20 72 65 74 72 | 79 20 6a 75 73 74 20 6f |and retr|y just o|
|00006070| 6e 63 65 20 6d 6f 72 65 | 3a 0a 58 20 20 20 20 67 |nce more|:.X g|
|00006080| 6f 74 6f 20 64 6f 57 72 | 69 74 65 0a 58 20 20 65 |oto doWr|ite.X e|
|00006090| 6c 73 65 0a 58 20 20 20 | 20 74 6f 6c 6f 67 20 65 |lse.X | tolog e|
|000060a0| 63 68 6f 20 24 7b 73 63 | 4e 6d 7d 3a 20 22 45 72 |cho ${sc|Nm}: "Er|
|000060b0| 72 6f 72 20 24 65 78 69 | 74 56 61 6c 20 77 72 69 |ror $exi|tVal wri|
|000060c0| 74 69 6e 67 20 6f 6e 20 | 62 61 63 6b 75 70 20 64 |ting on |backup d|
|000060d0| 65 76 69 63 65 20 24 74 | 6f 44 65 76 20 2d 20 41 |evice $t|oDev - A|
|000060e0| 62 6f 72 74 69 6e 67 2e | 2e 2e 22 0a 58 20 20 20 |borting.|..".X |
|000060f0| 20 67 75 61 72 64 65 64 | 45 78 69 74 20 24 65 78 | guarded|Exit $ex|
|00006100| 69 74 56 61 6c 0a 58 20 | 20 65 6e 64 69 66 0a 58 |itVal.X | endif.X|
|00006110| 65 6e 64 69 66 0a 58 67 | 75 61 72 64 20 63 6c 65 |endif.Xg|uard cle|
|00006120| 61 6e 75 70 53 65 71 49 | 44 0a 58 23 5e 5e 5e 5e |anupSeqI|D.X#^^^^|
|00006130| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00006140| 5e 5e 5e 5e 5e 5e 5e 20 | 41 72 63 68 69 76 65 64 |^^^^^^^ |Archived|
|00006150| 20 66 69 6c 65 73 20 74 | 6f 20 74 61 70 65 20 5e | files t|o tape ^|
|00006160| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 5e 5e 5e 5e 5e 5e |^^^^^^^^|^^^^^^^^|
|00006170| 5e 5e 5e 5e 5e 5e 5e 5e | 5e 5e 0a 58 0a 58 0a 58 |^^^^^^^^|^^.X.X.X|
|00006180| 0a 58 23 76 76 76 76 76 | 76 76 76 76 76 76 76 76 |.X#vvvvv|vvvvvvvv|
|00006190| 76 76 76 76 76 76 76 76 | 76 76 76 20 56 65 72 69 |vvvvvvvv|vvv Veri|
|000061a0| 66 79 20 69 6e 74 65 67 | 72 69 74 79 20 6f 66 20 |fy integ|rity of |
|000061b0| 64 75 6d 70 20 76 76 76 | 76 76 76 76 76 76 76 76 |dump vvv|vvvvvvvv|
|000061c0| 76 76 76 76 76 76 76 76 | 76 76 76 76 76 76 76 0a |vvvvvvvv|vvvvvvv.|
|000061d0| 58 23 20 43 75 72 73 6f | 72 69 6c 79 20 72 65 61 |X# Curso|rily rea|
|000061e0| 64 20 64 75 6d 70 20 66 | 69 6c 65 20 69 6e 74 6f |d dump f|ile into|
|000061f0| 20 2f 64 65 76 2f 6e 75 | 6c 6c 20 74 6f 20 76 65 | /dev/nu|ll to ve|
|00006200| 72 69 66 79 20 69 74 73 | 20 69 6e 74 65 67 72 69 |rify its| integri|
|00006210| 74 79 0a 58 74 6f 6c 6f | 67 20 65 63 68 6f 20 2d |ty.Xtolo|g echo -|
|00006220| 6e 20 22 44 75 6d 70 20 | 69 6e 74 65 67 72 69 74 |n "Dump |integrit|
|00006230| 79 20 76 65 72 69 66 69 | 63 61 74 69 6f 6e 20 73 |y verifi|cation s|
|00006240| 74 61 67 65 2e 2e 2e 09 | 09 09 22 0a 58 74 6f 6c |tage....|..".Xtol|
|00006250| 6f 67 20 64 61 74 65 20 | 2b 22 25 54 20 25 44 22 |og date |+"%T %D"|
|00006260| 0a 58 0a 58 73 65 74 20 | 72 65 73 75 6c 74 3d 60 |.X.Xset |result=`|
|00006270| 6d 74 20 2d 66 20 24 72 | 65 61 6c 44 65 76 20 72 |mt -f $r|ealDev r|
|00006280| 65 77 60 0a 58 73 65 74 | 20 65 78 69 74 56 61 6c |ew`.Xset| exitVal|
|00006290| 3d 24 73 74 61 74 75 73 | 0a 58 69 66 20 28 24 65 |=$status|.Xif ($e|
|000062a0| 78 69 74 56 61 6c 20 21 | 3d 20 30 29 20 74 68 65 |xitVal !|= 0) the|
|000062b0| 6e 0a 58 20 20 74 6f 6c | 6f 67 20 65 63 68 6f 20 |n.X tol|og echo |
|000062c0| 24 7b 73 63 4e 6d 7d 20 | 45 72 72 6f 72 3a 20 70 |${scNm} |Error: p|
|000062d0| 6f 73 69 74 69 6f 6e 69 | 6e 67 20 74 61 70 65 20 |ositioni|ng tape |
|000062e0| 24 72 65 61 6c 44 65 76 | 20 64 75 72 69 6e 67 20 |$realDev| during |
|000062f0| 76 65 72 69 66 69 63 61 | 74 69 6f 6e 20 2d 0a 58 |verifica|tion -.X|
|00006300| 20 20 74 6f 6c 6f 67 20 | 65 63 68 6f 20 22 20 20 | tolog |echo " |
|00006310| 6d 74 20 28 72 65 77 29 | 3a 20 24 72 65 73 75 6c |mt (rew)|: $resul|
|00006320| 74 20 28 65 78 69 74 20 | 76 61 6c 75 65 20 24 65 |t (exit |value $e|
|00006330| 78 69 74 56 61 6c 29 22 | 0a 58 20 20 74 6f 6c 6f |xitVal)"|.X tolo|
|00006340| 67 20 65 63 68 6f 20 22 | 20 20 41 62 6f 72 74 69 |g echo "| Aborti|
|00006350| 6e 67 2e 2e 2e 22 0a 58 | 20 20 67 75 61 72 64 65 |ng...".X| guarde|
|00006360| 64 45 78 69 74 20 24 65 | 78 69 74 56 61 6c 0a 58 |dExit $e|xitVal.X|
|00006370| 65 6c 73 65 0a 58 20 20 | 73 65 74 20 72 65 73 75 |else.X |set resu|
|00006380| 6c 74 3d 60 6d 74 20 2d | 66 20 24 72 65 61 6c 44 |lt=`mt -|f $realD|
|00006390| 65 76 20 66 73 66 20 24 | 73 65 71 49 44 60 0a 58 |ev fsf $|seqID`.X|
|000063a0| 20 20 73 65 74 20 65 78 | 69 74 56 61 6c 3d 24 73 | set ex|itVal=$s|
|000063b0| 74 61 74 75 73 0a 58 20 | 20 69 66 20 28 24 65 78 |tatus.X | if ($ex|
|000063c0| 69 74 56 61 6c 20 21 3d | 20 30 29 20 74 68 65 6e |itVal !=| 0) then|
|000063d0| 0a 58 20 20 20 20 74 6f | 6c 6f 67 20 65 63 68 6f |.X to|log echo|
|000063e0| 20 24 7b 73 63 4e 6d 7d | 20 45 72 72 6f 72 3a 20 | ${scNm}| Error: |
|000063f0| 70 6f 73 69 74 69 6f 6e | 69 6e 67 20 74 61 70 65 |position|ing tape|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.